我正在以下浏览器中进行测试:


铬43.0.2357.134 m
Firefox 39.0
IE 11


我这样添加了事件监听器

window.addEventListener("popstate", callback);


并编码为更改状态,就像这样

history.pushState(param, "#")


它可以在相同的URL页面中工作,但是从另一个URL页面导航回去之后,不会调用popstate侦听器(但是它正在使用Firefox)。

我不知道该怎么办。有解决方案吗???

最佳答案

加载初始页面时,您需要手动替换状态。
像下面这样的东西应该起作用。

var firstState = { // your initial state
}

function initState() {
    history.replaceState(firstState);
}

if (document.readyState === 'complete') initState();
else window.onload = initState;

关于javascript - chrome5无法触发html5 popstate事件,即,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31578672/

10-09 09:00