0

这里有人知道如何通过 JavaScript 或 jQuery 阻止用户在页面上使用 Shift+F5 或 F5(刷新页面)吗?

原因只是在用户单击“提交”按钮然后再次按 F5 后停止页面以将相同的变量重新提交到服务器端。

4

2 回答 2

2

答案不是停止页面刷新,而是让它刷新不会再次发布数据:通过让您的服务器脚本在处理表单后发出重定向来做到这一点。然后浏览器将获取指定的 url(它甚至可能是相同的 URL),因此刷新不再发出 POST,而是发出 GET。

于 2013-02-11T04:13:33.267 回答
0

已编辑.. 很遗憾地说,但没有比这更好的解决方案了。

<script type="text/javascript">
    window.onbeforeunload = function(event)
    {
        event = event || window.event;

        // For IE and Firefox (older versions)
        if (event) {
            event.returnValue = 'Are you sure you want to do this?';
        }

        // For Safari
        return 'Are you sure you want to do this?';
    }
</script>

--- 只想添加以下内容:

嘿,我一直在玩我上面发布的代码.. 我没注意到它实际上仍在刷新.. 唯一可能的解决方案是提高弹出对话框,如果他们真的从用户那里确认想要离开/刷新页面。

我正在更新我的代码以反映我刚才所说的内容。

于 2013-02-11T03:18:59.967 回答