日期:2014-05-16  浏览次数:20707 次

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 ,它的里面就有这个游览器历史的解决的问题。