【问题标题】:Bypassing Browser popup blocking when automatic session timeout occurs发生自动会话超时时绕过浏览器弹出窗口阻止
【发布时间】:2010-03-31 08:49:35
【问题描述】:

请就以下问题提供帮助。

我已在浏览器中启用“阻止弹出窗口”选项。我们正在使用后台 ajax 调用进行会话验证,以检查会话是否处于活动状态。如果会话在所需的时间间隔内未处于活动状态,则会弹出一个窗口进行通知。

现在开始解决问题。由于会话通知弹出窗口在没有任何客户端交互的情况下自动弹出,因此此弹出窗口被浏览器阻止。但是如果客户端点击表单中的任何其他弹出窗口,该弹出窗口将不会被浏览器阻止。

我希望会话通知弹出窗口也不会被浏览器阻止,即使启用了浏览器“阻止弹出”选项。

【问题讨论】:

    标签: javascript popupwindow popup-blocker


    【解决方案1】:

    弹出窗口阻止程序用于阻止弹出窗口。如果有办法绕过它,那将完全没用。

    您可以:

    1. 在弹出窗口拦截器的设置中为您的域添加例外
    2. 不要为您的通知使用弹出窗口,而是通过 javascript 在页面本身上显示它

    【讨论】:

    • 嗨 Andreas,感谢您的澄清,但将通知显示为 poup 是客户要求。你知道任何 javascript 方法来实现它。我尝试了 onclick 功能,但没有成功。
    • 每个弹出窗口拦截器都不同,所以我无法回答您的问题;但很可能不会,如果有办法阻止弹出窗口将毫无用处,因为所有广告公司都会使用这种方式来显示弹出窗口。
    • 你能帮我回答我stackoverflow.com/questions/4232546/…的这个问题吗?
    【解决方案2】:

    如果浏览器已阻止在 JavaScript 中使用弹出窗口,则它已阻止它们。您无法强制浏览器让它们通过。

    您总是可以尝试在您的页面上创建一个类似弹出窗口的元素,它不会强迫用户首先处理它(除了在您的页面上),但仍然会“看起来”正确。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-28
      • 2015-05-05
      • 1970-01-01
      • 1970-01-01
      • 2010-09-17
      • 1970-01-01
      • 2011-12-22
      • 2019-05-27
      相关资源
      最近更新 更多