【问题标题】: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 “我不是在问不允许这件事背后的原因。我在问“为什么不可能?”。 似乎是同一个问题?

标签: javascript jquery jquery-ui jquery-plugins jquery-events


【解决方案1】:

是否可以在 window.onbeforeunload 上启动循环以打开相同的 当前页面在标签退出时一次又一次?

是的。

为什么不可能?

但浏览器阻止它作为弹出窗口打开

在您正在测试javascript 的浏览器上,您的弹出窗口拦截器已打开,默认情况下会阻止此浏览器行为;或通过您实施的设置。

解决方案:在您正在查看https://jsfiddle.net/q9kd4b0x/ 的浏览器上关闭弹出窗口阻止程序。

一个新的windowtab 应该在每个onbeforeunload 事件中打开

【讨论】:

  • 注意,在浏览器的铬settings -> Content settings -> Pop-ups 选择Allow all sites to show popups;或其他浏览器上的类似实现
猜你喜欢
  • 2010-12-27
  • 2020-06-06
  • 2023-03-21
  • 1970-01-01
  • 2018-07-30
  • 1970-01-01
  • 1970-01-01
  • 2014-01-31
  • 1970-01-01
相关资源
最近更新 更多