gpt4 book ai didi

javascript - 为什么必须在 Chrome 浏览器的 HTML 文件中初始化 HTML5 Web Worker?

转载 作者:行者123 更新时间:2023-11-29 18:10:07 24 4
gpt4 key购买 nike

我刚刚为网络 worker 制作了一个脚本,想知道这是否是 chrome 浏览器遭受的另一个错误。我不知道是否已经修复了另一个 chromium-bug,因为您无法在 chromium 中运行的 worker 中初始化另一个 worker(嵌套): https://code.google.com/p/chromium/issues/detail?id=31666

这在 main.html 中:

<script language="JavaScript" src="workerScript.js" type="text/javascript"></script>
<script language="JavaScript" src="workerScript2.js" type="text/javascript"></script>

<script>

// no error is thrown when workerScript.init('workerScript2.js') is called
console.log(workerScript.init('workerScript2.js')); // Worker { ... }

</script>

workerScript.js:

function callWorker(){
var worker = new Worker('workerScript.js');
}

callWorker(); // Uncaught ReferenceError: Worker is not defined

workerScript2:

var workerScript = {
init: function(file){
var worker = new Worker(file);
return worker;
}
};

在 chromium 中执行 main.html 时(版本 40.0.2214.91 m)workerScript.js 中抛出错误:

Uncaught ReferenceError: Worker is not defined

在 chromiums 中,似乎只要你在一个已执行的 html 文件中初始化一个 worker 就不会抛出任何错误,除了 within 调用函数时的外部 js 文件或 new Worker(.. .) 与 workerScript.js 中的情况一样执行。

实际问题:这是 chromium 的安全问题/预防措施吗,因为如果没有抛出错误,workerScript.js 会在 chromium 中无限循环吗?(workerScript.js 中的 worker 试图再次打开 workerScript.js?)但为什么这在其他情况下有效像 Firefox 甚至 IE 这样的浏览器?

最佳答案

根据 Rob W 提供的评论,它与问题顶部描述的错误相同。

希望这个错误能尽快得到修复。因为我必须检查它是否是 chrome 浏览器,如果是,则只运行 一个 main-worker 而不是几个 nested-worker。 Chrome 速度很快,但就与工作人员的计算而言,它可以变得更快。

感谢您的宝贵时间。

关于javascript - 为什么必须在 Chrome 浏览器的 HTML 文件中初始化 HTML5 Web Worker?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28128861/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com