gpt4 book ai didi

javascript - Web Worker Javascript 无法找到其他 javascript 文件中的函数

转载 作者:行者123 更新时间:2023-11-28 19:55:48 25 4
gpt4 key购买 nike

我有一个像这样的 HTML 文件:

<html>

<head>

<title>World Aviation</title>

<script language="javascript" src="./jquery-min.js"> </script>
<script language="javascript" src="./jsDraw2D.js"> </script>
<script language="javascript" src="./script.js"> </script>
</head>
<body>

<input onClick="startAnimBackground();" type="button" value="Start"/>

<script language="javascript">

initAirports();

initRoutes();

var w;

function startAnimBackground()
{
if(typeof(Worker) !== "undefined")
{
if(typeof(w) == "undefined")
{
w = new Worker("start_script.js");
}
} else {
startAnimation();
}
}
</script>

</body>

</html>

文件“start_script.js”仅包含 1 行调用 startAnimation() 函数。该函数位于“script.js”

我的问题是:我的浏览器支持web-workers,因此它创建了一个web-worker并加载文件“start_script.js”,但它无法调用函数“startAnimation()”,表明它找不到该函数。但这个函数位于 script.js 中,它包含在 head 部分中。因此,我能得出的唯一结论是,web-worker JS 文件具有不同的范围,因此无法包含 head 部分中指定的 3 个 javascript 文件。那么我应该怎么做才能使这项工作成功呢?谢谢。

最佳答案

Web Worker 不与主脚本共享函数、变量或脚本。

要加载依赖项,请在工作线程中调用 importScripts()

为了允许您的 Web Worker 与主脚本或 DOM 交互或影响主脚本或 DOM,您必须使用消息传递并让主脚本监听、解释消息并对其执行操作。

参见:https://developer.mozilla.org/en-US/docs/Web/Guide/Performance/Using_web_workers

关于javascript - Web Worker Javascript 无法找到其他 javascript 文件中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22603015/

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