oppopstate不会在firefox和ie11中触发

时间:2014-04-04 12:24:42

标签: jquery ajax html5 popstate

我正在寻找Sebastian Sulinki的一些例子

这里'演示 - http://html5-history-pushstate.ssdtutorials.com/ 它很完美,但似乎window.onpopstate = function(){

不适用于firefox和interner explorer 11和10中的文档就绪或窗口加载 它确实在其他浏览器上触发。

我无法在我的服务器上演示,因为它不在域上工作(演示) 脚本仅适用于domain.com/将无法正常工作server.com/folder/ 很抱歉,我没有任何免费域名。

但是,如果有人想要更多地进行攻击,只需下载并尝试使用localhost /(不是低级文件夹,而是主目录) 或在某个领域

然后检查它的简单方法是将console.log("this url is " + url);添加到此脚本片段

load: function(url) {
    url = url === '/' ? '/ygwyg' : url;
    jQuery.getJSON(url, {
        ajax: 1
    }, function(data) {

        jQuery.each(data, function(k, v) {
            $('#' + k + ' section').fadeOut(200, function() {
                $(this).replaceWith($(v).hide().show());
                console.log(url)
            });
        });
    });

},

当您在Chrome上打开网站时,它会在开始时显示网址,但在FF和IE上,它会显示任何内容,直到您按#navigation a按钮然后按脚本触发。

感谢您抽出时间和任何问题,提示,信息:)

修改 我发现这里(链接下)关于那不会触发 - 但为什么?任何解决方案 http://blog.teamtreehouse.com/getting-started-with-the-history-api

1 个答案:

答案 0 :(得分:0)

我在一段时间后找到了解决方案

    setTimeout(function() {
        $(window).trigger('popstate');
    }, 1);

希望它能帮助未来的人