WorkerGlobalScope: importScripts() 方法

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

注意:此功能仅在 Web Workers 中可用。

WorkerGlobalScope 接口的 importScripts() 方法将一个或多个脚本同步导入到 worker 的作用域中。

语法

js
importScripts(path0)
importScripts(path0, path1)
importScripts(path0, path1, /* …, */ pathN)

参数

pathN

一个表示要导入的脚本的 URL 的字符串值。URL 可以是绝对的也可以是相对的。如果 URL 是相对的,则它是相对于 worker 入口脚本的 URL。

返回值

无(undefined)。

异常

NetworkError

导入的脚本是以非 text/javascript MIME 类型或未经允许的 旧版 JavaScript MIME 类型提供的。

TypeError

如果当前的 WorkerGlobalScope 是一个模块,则会抛出此异常。请使用 import 代替。

示例

如果你有一些功能写在名为 foo.js 的单独脚本中,并且想在 worker.js 中使用它,你可以使用以下行导入它:

js
importScripts("foo.js");

foo.js 应该位于与 worker 入口点相同的 URL 子树中 — 例如,如果此 worker 是使用 new Worker("worker.js") 创建的,则 worker.js 是入口点。如果 worker.js 位于 https://example.com/scripts/worker.js,则 foo.js 应该位于 https://example.com/scripts/foo.js

importScripts()self.importScripts() 的作用基本相同 — 两者都表示从 worker 内部作用域调用 importScripts()

规范

规范
HTML
# dom-workerglobalscope-importscripts-dev

浏览器兼容性

另见