我的网站位于http://visualise.ca/,当您点击缩略图加载帖子时,它会使用ajax在页面中加载帖子。当您关闭帖子时,它会使用此代码将网址更改回http://visualise.ca/而不重新加载页面:
$("#close").live("click", function(event) {
$("#board").fadeOut("slow");
$("#board-wrapper").slideUp("slow");
$("html,body").delay(1000).animate({scrollTop: 0}, 300);
window.location.hash = "";
window.history.pushState(null,null,site_url+"/");
return false;
});
但在IE8中,它会将其更改回http://visualise.ca/#而不是http://visualise.ca/。有没有办法纠正这个问题,并确保将其更改为http://visualise.ca/?
答案 0 :(得分:3)
这不会阻止吗?
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<script>
$(document).ready(function() {
$(".testPhoto").click(function(event){
event.stopPropagation();
alert("do something");
return false;
});
});
</script>
<a class="testPhoto" href="#testPhoto" onclick="testPhoto">Test Photo</a>
答案 1 :(得分:1)
IE9将重新加载页面,而没有结束哈希#
。我的建议是检查IE并删除或删除内容。如果你确实需要精确的方法,你将不得不躲避一些IE Quirks。
if ( jQuery.browser.msie && ( parseInt( jQuery.browser.version ) < 9 ) ) {
window.location = 'http://visualise.ca";
document.execCommand( 'stop' );
}
答案 2 :(得分:1)
我最近碰巧做了很多ajax历史。我正在尝试我自己的实现,我浏览页面和模态,然后返回和第四。取得了很好的进展。
自测试开始以来,我注意到了根哈希; ONCE CHANGED回到初始页面(它全部开始)它只会丢失哈希(#),如果它是一个BROWSER BACK按钮点击。如果我将哈希值更改回'',它将始终显示/#。
就IE8而言,我不相信有任何解决方案,但使用iFrame黑客,因为我还没有去测试IE8 / iframe hack,我不能评论它。
对于我的解决方案,我使用哈希和纯命令控制的混合。我应该在几周内对最终版本进行全面测试(一厢情愿)。
此外,谁关心是否在网址的末尾留下了哈希/锐利。一旦我访问网站,我从来没有看过URL;我只看一下页面的内容。真的:它只是打击了我,只有当我想要复制和粘贴它时,网址才是重要的。除此之外,我从不看它。
答案 3 :(得分:0)
window.location = window.location.href.replace( /#.*/, "");
这适用于IE。
答案 4 :(得分:0)
$('#close').click(function(){
window.location = "http://visualise.ca/";
});