我花了一段时间寻找塞巴斯蒂安·苏林基(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);
希望它能帮助未来的人