停止用户在页面上按Shift + F5

时间:2013-02-11 03:15:25

标签: javascript jquery

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

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

2 个答案:

答案 0 :(得分:3)

答案不是停止页面刷新,而是为了使刷新不再发布数据:通过使用服务器脚本issue a redirect after processing the form来完成此操作。然后浏览器将获取指定的URL(它甚至可能是相同的URL),因此刷新不再发出POST,而是发出GET。

答案 1 :(得分:0)

EDITED ..遗憾地说,但没有比这更好的真正解决方案。

<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>

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

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

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