Ajax如何解决浏览器的前进后退功能?
要解决前进后退功能,请问怎么做?
引用的JS
<script type="text/javascript" src="javascript/jquery.js"></script>
<script type="text/javascript" src="javascript/jquery.ajaxcontent.js"></script>
标签
<li class="normal"><img src="images/mainmenu_01.jpg" href="home.aspx" cite="javascript/home.js" class="normal" /></li>
<li class="normal"><img src="images/mainmenu_012.jpg" href="map.aspx" cite="javascript/map.js" class="normal" /></li>
处理:
$("#mainmenu ul li img.normal").ajaxContent({
target:'#main',
success:function(obj,target,msg)
{
jspath=$(obj).attr('cite');
if(jspath!="none")
{
$.getScript(jspath);
}
}
});
由于AJAX不能保存浏览历史,所以不能前进后退。怎么解决这个问题呢?
我的办法
<script type="text/javascript" src="javascript/jquery.history.js"></script>
<script type="text/javascript">
function pageload(hash) {
if(hash)
{
$("#main").load(hash );
}
else
{
$("#main").empty();
}
}
$(document).ready(function(){
$.historyInit(pageload);
$("li a.topmenu").click(function(){
var hash = this.href;
hash = hash.replace(/^.*#/, '');
$.historyLoad(hash);
return false;
});
});
</script>
但是不能获取cite="javascript/map.js",也就是不能执行上面$.getScript(jspath);类似的功能,怎么搞呢
先给20分,后追加50
------解决方案--------------------JavaScript中有个histroy对象,楼主可以看看,是否是你需要的。
------解决方案--------------------如果你用的是vs2008的话,那么vs2008中的.NET FRAMEWORK 3.5的,在微软的网站有个 .net framework 3.5 service pack1 ,它的里面就有这个游览器历史的解决的问题。