我在这些浏览器中测试:
我添加了像这样的事件监听器
window.addEventListener("popstate", callback);
并编码以改变这样的状态
history.pushState(param, "#")
它在同一个url页面中工作,但在从另一个url页面导航回来之后,没有调用popstate监听器(但它正在使用firefox)。
我不知道该怎么办。有解决方案???
答案 0 :(得分:2)
您需要在初始页面加载时手动替换状态。 以下内容应该有效。
var firstState = { // your initial state
}
function initState() {
history.replaceState(firstState);
}
if (document.readyState === 'complete') initState();
else window.onload = initState;