使用jQuery/Javascript防止任何形式的页面刷新

前端之家收集整理的这篇文章主要介绍了使用jQuery/Javascript防止任何形式的页面刷新前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
一旦用户在我的页面上,我不希望他刷新页面

>任何时候,用户点击F5或刷新顶部的按钮。他应该得到一个警报

You cannot refresh the page.

>如果用户打开一个新的选项卡,并尝试访问相同的URL在prev tab,他应该得到一个警报

You cannot open same page in 2 tabs

无论如何,我可以使用JavaScript或jQuery做到这一点?第一点真的很重要。

解决方法

#1可以通过window.onbeforeunload实现。

例如:

<script type="text/javascript">
    window.onbeforeunload = function() {
        return "Dude,are you sure you want to leave? Think of the kittens!";
    }
</script>

用户将被提示消息,并给出一个选项,留在网页上或继续他们的方式。这变得越来越普遍。 Stack Overflow会在你输入一篇文章时尝试离开页面。你不能完全停止用户重新加载,但你可以使它听起来真的可怕,如果他们这样做。

#2或多或少不可能。即使您跟踪会话和用户登录,您仍然无法保证您正确检测到第二个标签。例如,也许我有一个窗口打开,然后关闭它。现在我打开一个新窗口。你可能会检测到,作为第二个选项卡,即使我已经关闭了第一个。现在,您的用户无法访问第一个窗口,因为他们关闭它,他们不能访问第二个窗口,因为你拒绝了。

事实上,我的银行的在线系统努力做#2,并且上述情况一直发生。我通常必须等到服务器端会话过期后才能再次使用银行系统。

猜你在找的jQuery相关文章