IE / Firefox - $(窗口).on('popstate',function(){}

时间:2014-03-11 14:02:58

标签: internet-explorer firefox pushstate history.js popstate

我的HTML5历史/ history.js

有问题

我使用 History.pushState 替换地址栏中的链接。 代码:

function setLink() {
var
$this = $(this),
url = $this.attr('data-location'),
title = $this.attr('title')||null;
History.pushState(null,title,url);
}

这在所有浏览器中都很完美。我重新加载了网站,我使用 $(窗口).on(' popstate',function(){} 来检查pushState是否在历史记录中。 代码:

$(window).on('popstate', function(e) {
e.preventDefault();
var
State = History.getState(),
url = State.url,
relativeUrl = url.replace(rootUrl,'');
id = url.split("/")[4];
alert(url);
alert(id);  
alert("popstate-neu-1");
if (window.history.state !== null) {    
$this = $('#' + id);
setPortfolioIsotopeOpenArgs();
} else {
alert("nothing here");
}
});

这在Safari(Mac / Win和iOS)中非常完美,但在Firefox和IE中它不起作用。 有人有想法吗?

谢谢,抱歉我的英语不好。 来自奥地利的问候

0 个答案:

没有答案