当用户点击地址栏输入使用 JQuery 或 JS 时,如何防止网页重新加载
Posted
技术标签:
【中文标题】当用户点击地址栏输入使用 JQuery 或 JS 时,如何防止网页重新加载【英文标题】:How can I prevent webpage reloading when a user clicks on the address bar enter using JQuery or JS 【发布时间】:2021-01-01 22:05:25 【问题描述】:当用户在地址栏上按 Enter 键时,我会阻止网页重新加载。在 Google Chrome 中使用 JQuerys e.preventDefault() 方法在 beforeunload 方法中不起作用。一般来说,这可以用 JQuery 或 JS 来实现这个目标,还是我需要另一种技术?如果可能的话,有人可以帮我解决这个问题吗?
【问题讨论】:
你可以在这里找到答案https://***.com/questions/3527041/prevent-any-form-of-page-refresh-using-jquery-javascript
我试过这个 $(window).on('beforeunload', function(event) ... );但它不起作用。我是否需要返回一些东西,因为我的代码中不需要这个。我也在这里尝试过,但它不起作用:developer.mozilla.org/en-US/docs/Web/API/Window/….
【参考方案1】:
你根本做不到。无法从 JavaScript 处理地址栏本身。您只能添加确认对话框。
【讨论】:
我应该应用什么技术(框架、库等)来使其正常工作? 我尝试在 beforeunload 方法中添加一个确认对话框,但没有显示该对话框。只有这个方法被打印在浏览器的 devtools 中:Blocked confirm('LEAVING') during beforeunload.【参考方案2】:简答:你不能。
这样想,当用户在address bar
中点击回车时,用户正在输入一个 URL 并试图访问该 URL,并且它仅由浏览器处理。您可以(并且应该)不阻止用户离开页面。最重要的是,您可以在离开现有页面之前通知用户。
如果您这样做是为了优化性能,请考虑缓存静态文件。
【讨论】:
以上是关于当用户点击地址栏输入使用 JQuery 或 JS 时,如何防止网页重新加载的主要内容,如果未能解决你的问题,请参考以下文章
java web 如何防止 用户绕过js验证,直接地址栏提交表单或自己编写html页面,提交数据到服务器?