7

我的网站位于http://visualise.ca/,当您通过单击缩略图加载帖子时,它将使用 ajax 在页面内加载帖子。当您关闭帖子时,它使用此代码将 url 更改回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/

4

5 回答 5

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>
于 2011-10-16T16:06:03.427 回答
1

任何小于 IE9 的内容都将重新加载页面而没有结束 Hash #。我的建议是检查 IE 并删除或空白内容。如果您确实想要确切的方式,则必须避开一些 IE 怪癖。

 if ( jQuery.browser.msie && ( parseInt( jQuery.browser.version ) < 9 ) ) {
     window.location = 'http://visualise.ca";
     document.execCommand( 'stop' );
 }
于 2011-11-07T22:16:05.943 回答
1

我最近碰巧做了很多ajax历史。我正在尝试自己的实现,在其中导航页面和模式,然后返回和第四。取得了很好的进展。

自测试开始以来,我注意到根哈希;一旦更改回初始页面(一切开始的地方),只有在单击浏览器返回按钮时才会丢失哈希 (#)。如果我将哈希改回'',它总是会在最后显示 /#。

就 IE8 而言,我认为除了使用 iFrame hack 之外没有任何解决方案,而且由于我还没有时间测试 IE8/iframe hack,我无法对此发表评论。

对于我的解决方案,我混合使用了哈希和纯命令控制。我应该在几周内对最终版本进行全面测试(一厢情愿)。

此外,谁在乎是否在 url 的末尾留下了 hash/sharp。访问网站后,我从不查看 URL;我只看页面的内容。真的:它只是让我觉得 url 只有在我想复制和粘贴它时才重要。除此之外,我从不看它。

于 2011-11-07T22:35:30.813 回答
0
window.location = window.location.href.replace( /#.*/, "");

这将适用于 IE。

于 2011-08-26T10:36:15.127 回答
0
$('#close').click(function(){

window.location = "http://visualise.ca/";

});
于 2011-10-12T00:32:11.637 回答