在 Firefox 中,在每个 document.write() 新的历史条目被创建之后,所以如果 document.write() 在用户按下返回按钮返回历史记录时在页面加载时被调用,firefox 会将他带到运行 document.write( ) 再次创建另一个历史记录,因此即使再按一次后退按钮也无济于事,无法将他带到他想要的地方
简单的解决方法是:
function onbeforeunload(e)
{
setTimeout(function() { window.history.go(-2); }, 0);
}
window.addEventListener("beforeunload", onbeforeunload, true);
但是它不会让用户去任何链接或在地址栏中输入任何地址并去那里,那么还有另一种方法来修复firefox吗?
更好的方法是使用onpopstate
事件,但它在 document.write() 之后在 firefox 中不起作用
不,这里必须使用document.write() 。