0

我四处寻找塞巴斯蒂安·苏林基(Sebastian Sulinki)制作的例子

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

不适用于 Firefox 和内部资源管理器 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

4

1 回答 1

0

I found solution after some time

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

Hope it'll help someone inf future

于 2015-01-02T17:19:46.797 回答