我正在这些浏览器中进行测试:
- Chrome 43.0.2357.134 m
- 火狐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 - html5 popstate 事件无法在 chrome 和 ie 上触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31578672/