oppopstate在Firefox和IE11中不触发



我花了一段时间寻找塞巴斯蒂安·苏林基(Sebastian Sulinki)的例子

此处' 演示 - http://html5-history-pushstate.ssdtutorials.com/这是完美的,但似乎window.onpopstate = function(){

不适用于 Firefox 和 Interner 资源管理器 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 上打开网站时,它会在开始时显示 url,但在 FF 和 IE 上,它不会显示任何内容,直到您按下#navigation a按钮然后脚本触发器。

感谢您使用的时间以及任何警告,提示,信息:)

编辑:我在这里(链接下)发现这不会触发 - 但为什么?有什么解决办法吗?http://blog.teamtreehouse.com/getting-started-with-the-history-api

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

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

希望它能帮助未来的人

相关内容

  • 没有找到相关文章

最新更新