Jquery Url重新加载



hi我有一个html代码,如下所示

<ul id="userTabs" class="clearfix">
<li class="selected"><a href="#profile">Profile Home</a></li>
<li><a href="#test">test</a></li>
<li><a href="#test2">test2</a></li>
<li><a href="#test3">test3</a></li>
<li><a href="#test4">test4</a></li>

</ul>

以前我问过如何获取href值的问题,现在我需要知道如何在重新加载页面时保留相同的链接。点击上面链接的JS代码如下

$("#userTabs li").click(function(){

$("#userTabs li").removeClass('selected');
$(this).addClass('selected');
var href = $(this).children('a').attr('href');
href = href.replace("#","")
//alert(href);
//alert(href);
$.ajax({
url:"<?=$this->baseUrl('user/"+href+"')?>",
data:{'page':href},
dataType:"json",
type:"POST",
success:function(data){
//alert('ok');
//var contentHtml = data;
$("#user_reviews_list").html('');
$('#pagesuser').hide();
$("#user_reviews_list").html(data);
//alert(contentHtml);
}
});
//alert('ok');
});

现在,当我点击链接test时,新内容将被$("#user_reviews_list")中的当前内容所取代,我的url将更改为http://localhost/user/john#test,但如果我重新加载页面,内容将不再在#test中,而是返回到原始主页内容。我如何确保当我重新加载时,内容被假设为#test的内容?感谢

试试这个:

$(function(){
var hash = document.location.hash;
if(hash != '')
{
//load content
//hack (just example, implement your logic here)
$('#' + hash).parent().trigger('click');
}
});

恐怕没有简单的答案,因为它被认为是Ajax的主要缺点之一(请参阅此处),即重新加载/返回无法正常工作(如果不做大量工作,它就无法正常工作)。

关于使用ajax进行浏览器刷新。只要谷歌一下,或者看看这里,这里或这里

希望这能有所帮助!

最新更新