3 回答
TA贡献1943条经验 获得超7个赞
使用隐藏的形式。当您重新加载或单击“后退”按钮返回页面时,表单数据通常会保存在浏览器中。以下内容会出现在您的页面中(可能在底部附近):
<form name="ignore_me">
<input type="hidden" id="page_is_dirty" name="page_is_dirty" value="0" />
</form>
在您的JavaScript中,您将需要以下内容:
var dirty_bit = document.getElementById('page_is_dirty');
if (dirty_bit.value == '1') window.location.reload();
function mark_page_dirty() {
dirty_bit.value = '1';
}
嗅探表单的js必须在html完全解析后执行,但是如果用户延迟是一个严重问题,则可以将表单和js放在页面顶部(js秒)。
TA贡献1876条经验 获得超7个赞
这是解决这个老问题的非常简单的现代解决方案。
if (window.performance && window.performance.navigation.type == window.performance.navigation.TYPE_BACK_FORWARD) {
alert('Got here using the browser "Back" or "Forward" button.');
}
目前所有主要浏览器都支持window.performance。
添加回答
举报