Javascript 窗口延迟打开

Javascript 窗口延迟打开,javascript,popup,Javascript,Popup,我正在尝试以模式打开外部链接。以下代码可以正常工作: $('[data-link]').on('click', function(event){ event.preventDefault(); var link = $(this).attr('href'); window.open(link, 'newwindow', 'width=300, height=250'); }); 但是如果我将窗口.open函数放在延迟函数调用中,我会在浏览器上看到一条“弹出阻止”消息:

我正在尝试以模式打开外部链接。以下代码可以正常工作:

$('[data-link]').on('click', function(event){
    event.preventDefault();
    var link = $(this).attr('href');
    window.open(link, 'newwindow', 'width=300, height=250');
});
但是如果我将
窗口.open
函数放在延迟函数调用中,我会在浏览器上看到一条“弹出阻止”消息:

$('[data-link]').on('click', function(event){
    event.preventDefault();
    var link = $(this).attr('href');
    _.delay(function(){
        window.open(link, 'newwindow', 'width=300, height=250');
    }, 0);
});

不管延迟的程度有多大,延迟通话都不起作用。有人知道为什么会发生这种情况以及我如何使其工作吗?

弹出窗口阻止程序只允许您打开弹出窗口以直接响应用户事件


一旦调用
setTimeout()
,您就不再直接响应事件,无法通过。

弹出窗口阻止程序将只允许您打开一个弹出窗口,直接响应用户事件


一旦调用
setTimeout()
,您就不再直接响应事件,无法通过。

您正在与弹出窗口阻止程序进行斗争。你不会赢的。@SLaks我不需要毫不拖延地和它战斗。你在和弹出窗口拦截器战斗。你不会赢的。@SLaks我不需要毫不拖延地与之战斗。谢谢,你能不能也添加一个文档链接?谢谢,你能不能也添加一个文档链接?