【发布时间】:2016-12-10 19:28:36
【问题描述】:
我正在尝试通过 javascript 打开新选项卡,但弹出窗口阻止了它。如何绕过弹出窗口阻止程序。我试过这个但没有用。我在 chrome、Edge 和 firefox 中测试了这个:
var interval =5000;
setTimeout(function() {
$("#dummyButton")[0].click();
}, interval);
我的 html 代码包含锚点
<a id="dummyButton" href="http://www.w3schools.com" target="_blank" style="display:none;"></a>
我什至试过这个:
<button id="dummyButton" style="display:none;"></button>
setTimeout(function() {
$("#dummyButton").click();
}, interval);
$("#dummyButton").on('click',function(){
window.open("https://facebook.com", '_blank');
});
我在一些帖子中读到,如果从事件中调用 window.open,则弹出窗口不会阻塞。但它不起作用。
【问题讨论】:
-
我没有使用 window.open
-
您正试图在逻辑上创建一个会导致新窗口打开的事件。它很可能会遇到相同的限制。
-
如果我允许弹出窗口阻止程序,这没有什么问题。
-
对我来说听起来像是一个“XY 问题”问题,除非您试图让弹出广告绕过旨在阻止它们的机制。如果您不制作弹出式广告,也许您应该解释为什么您尝试延迟打开窗口,我们可以尝试提供一种更好的方法来解决您的问题,而该方法不需要绕过弹出窗口拦截器。
标签: javascript jquery