Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.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 window.openwithsetTimeout不';我不能执行这个动作_Javascript - Fatal编程技术网

Javascript window.openwithsetTimeout不';我不能执行这个动作

Javascript window.openwithsetTimeout不';我不能执行这个动作,javascript,Javascript,为什么调用setTimeout会显示警报框,但不会调用window.open? 如果我删除警报,它也不会打开窗口 // Pause first then open window function pause_first (url) { alert (url); var external_window = window.open(url,'_blank'); external_window.focus(); } v

为什么调用setTimeout会显示警报框,但不会调用window.open? 如果我删除警报,它也不会打开窗口

    // Pause first then open window
    function pause_first (url) {
        alert (url);
        var external_window = window.open(url,'_blank'); 
        external_window.focus();
    }

    var pause_ret = setTimeout( function() { pause_first(url); }, 1000);

很有可能,因为您的浏览器认为它是非用户触发的弹出窗口…所以它会阻止它。

浏览器不会打开弹出窗口,除非它是对用户操作的响应,例如“单击”是否有其他方式延迟窗口。打开?我正在制作的应用程序也有同样的问题。很高兴知道浏览器会阻止它,我不仅仅是傻瓜,哈哈。所以如果我在元素的onclick事件中调用的函数中调用setTimeout,浏览器会认为它不再是用户操作了?有没有办法让浏览器认为是这样的?