【问题标题】:Popup blocker getting triggered cause of setTimeout in IE弹出窗口阻止程序在 IE 中触发 setTimeout 的原因
【发布时间】:2018-12-06 05:57:40
【问题描述】:

我有一个场景,在单击按钮时,我需要在 300 毫秒延迟后在新选项卡中打开一个 URL

问题是我正在使用 settimeout,因此浏览器假定 window.open 没有因为用户交互而被触发,并显示弹出消息而不是打开 URL。

无论如何,我是否可以延迟点击按钮时打开 URL 而不会触发弹出窗口阻止程序?

TIA

Btn.addEventListner('click', function (){setTimeout( function(){ window.open(url,'_blank'),300)}

对格式错误表示歉意。我正在用手机打字

【问题讨论】:

  • 我刚刚在 IE 11 中对此进行了测试,它打开了新选项卡而没有弹出警报。可能还有其他东西(例如浏览器中的插件)导致您观察到的行为

标签: javascript internet-explorer settimeout


【解决方案1】:

感谢您的回复。你用的是哪个版本的ie?我相信在没有用户交互的情况下触发弹出窗口时会显示弹出窗口阻止程序(在我的情况下是 settimeout 回调)。 但是这个问题不只是在我的电脑上,我的很多客户都报告了这个问题。

【讨论】:

  • 我在我这边做了一个测试,它在 IE9-11 上没有弹出窗口拦截器的情况下运行良好。 IE8 和更早版本无法工作,因为“对象不支持属性或方法 'addEventListener'”。您能否分享您的详细代码,以便更容易重现您的问题并解决它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-09
相关资源
最近更新 更多