在Worker中的长进程检测为Popup后,window.open()

时间:2018-06-04 20:00:53

标签: javascript popup window.open worker

嗨我想在工作人员长时间处理后打开一个新标签(需要5-6秒),但它的检测结果就像一个Popup。我的代码:

--MAIN--
<button onclick="startWorker()">Start Worker</button> 

function startWorker() {
    if(typeof(Worker) !== "undefined") {

        if(typeof(w) == "undefined") {
            w = new Worker("Worker.js");
        }

        w.onmessage = function(event) {
            window.open(event.data);
        };  
}


--Worker.js--

        //Do something
        postMessage("http://google.com");
  • 然后我发现从Worker.js执行Window.open()命令,但这在浏览器中冻结。

是否有方法调用Main脚本并执行命令window.open()?喜欢: Main.window.open("something");

  • 我遇到的另一种可能方式是从window.open调用该函数并返回所需的链接。但这不起作用,它返回 - &gt;未定义...代码: Window.open(startWorker());

谢谢!

0 个答案:

没有答案