Chrome - 恼人的window.onpopstate加载游标

时间:2013-11-19 17:54:41

标签: google-chrome webkit single-page-application html5-history

我正在运行单页应用程序,它通过AJAX加载所有<a>个链接。这是一个轻微的视觉烦恼,但自从我通过window.onpopstatewindow.history.pushState()从#hash标签导航切换到正确的历史记录后,系统中的许多点击将导致光标“加载”,就好像它是标准的非AJAX页面。在Windows上,我得到带有加载符号的指针。这与以前只是将AJAX加载到容器中并且永远不会更改光标的情况形成对比。我觉得这“打破了”作为单页应用程序的沉浸感。

我的代码很简单:

$('body').on("click", 'a', function() {
var url = $(this).attr('href');
    $.ajax({type:'GET', url: url, success: function(data) {
        window.history.pushState({}, url, url);
        $('#content').html(data);
    }});

    return false;
}
});

window.onpopstate = function(event) {
  run_url();
};

这适用于Firefox。如果我完全删除window.onpopstate,它就不再这样做了,但我找不到onpopstate的替代方法。

0 个答案:

没有答案