Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过javascript绕过pop拦截器_Javascript_Jquery - Fatal编程技术网

如何通过javascript绕过pop拦截器

如何通过javascript绕过pop拦截器,javascript,jquery,Javascript,Jquery,我试图通过javascript打开新选项卡,但弹出窗口阻止了它。如何绕过弹出窗口阻止程序。我尝试了此方法,但没有成功。我在chrome、Edge和firefox中测试了此方法: var interval =5000; setTimeout(function() { $("#dummyButton")[0].click(); }, interval); 我的html代码包含锚点 <a id="dummyButton" href="http://www.w3schools.com"

我试图通过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');
});

setTimeout(函数(){
$(“#dummyButton”)。单击();
},间隔);
$(“#dummyButton”)。在('单击',函数()上{
窗口打开(“https://facebook.com“,”空白“);
});

我在一些帖子中读到,如果从事件中调用window.open,则popup不会阻止。但它不起作用。

如果绕过popup阻止程序很容易,那么每个人都会这么做


大多数现代浏览器只允许创建新窗口以响应用户的实际点击事件。使用
.click()
模拟事件不起作用。

我没有使用window.open的可能重复项您正在尝试从逻辑上创建一个事件,该事件将导致新窗口打开。它很可能遇到了相同的限制。如果我允许弹出式广告拦截器,那么它就可以工作。对我来说,这听起来像是一个“XY问题”,除非你试图让弹出式广告绕过旨在阻止它们的机制。如果你没有创建弹出广告,也许你应该解释一下为什么你要延迟打开一个窗口,我们可以尝试提供一个更好的方法来解决你的问题,而不需要绕过弹出拦截器。