阻止用户关闭选项卡或浏览器窗口[关闭]
Posted
技术标签:
【中文标题】阻止用户关闭选项卡或浏览器窗口[关闭]【英文标题】:Prevent user to close tab or browser window [closed] 【发布时间】:2016-07-11 08:30:04 【问题描述】:是否可以在 window.onbeforeunload 上启动循环以在标签退出时一次又一次地打开相同的当前页面?检查以下代码,它的工作但浏览器阻止它作为弹出窗口打开。
window.onbeforeunload = function(e)
window.open(document.URL,"_blank");
return 'Dialog text here.';
;
https://jsfiddle.net/q9kd4b0x/
【问题讨论】:
不,不可能。 我很好奇目的?运行 Web 应用程序似乎是一种不道德的方式 它是用于学习目的。你我们专注于它的解决方案或可能的原因,为什么那不可能它会很好。以及它的公开讨论论坛? 允许这样做会构成浏览器安全问题。人们真的不喜欢网站做这样的事情,所以浏览器不允许这样做。 @SairaKanwal “我不是在问不允许这件事背后的原因。我在问“为什么不可能?”。 似乎是同一个问题? 【参考方案1】:是否可以在 window.onbeforeunload 上启动循环以打开相同的 当前页面在标签退出时一次又一次?
是的。
为什么不可能?
但浏览器阻止它作为弹出窗口打开
在您正在测试javascript
的浏览器上,您的弹出窗口拦截器已打开,默认情况下会阻止此浏览器行为;或通过您实施的设置。
解决方案:在您正在查看https://jsfiddle.net/q9kd4b0x/ 的浏览器上关闭弹出窗口阻止程序。
一个新的window
tab
应该在每个onbeforeunload
事件中打开
【讨论】:
注意,在浏览器的铬settings
-> Content settings
-> Pop-ups
选择Allow all sites to show popups
;或其他浏览器上的类似实现以上是关于阻止用户关闭选项卡或浏览器窗口[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
会话销毁或关闭浏览器选项卡或关闭浏览器后,使用Laravel 5.2执行注销
浏览器如何暂停/更改JavaScript时选项卡或窗口未激活?