From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- files/zh-cn/web/api/abstractworker/index.html | 87 ++++++++++++++++++++++ .../web/api/abstractworker/onerror/index.html | 73 ++++++++++++++++++ 2 files changed, 160 insertions(+) create mode 100644 files/zh-cn/web/api/abstractworker/index.html create mode 100644 files/zh-cn/web/api/abstractworker/onerror/index.html (limited to 'files/zh-cn/web/api/abstractworker') diff --git a/files/zh-cn/web/api/abstractworker/index.html b/files/zh-cn/web/api/abstractworker/index.html new file mode 100644 index 0000000000..53ee348af9 --- /dev/null +++ b/files/zh-cn/web/api/abstractworker/index.html @@ -0,0 +1,87 @@ +--- +title: AbstractWorker +slug: Web/API/AbstractWorker +tags: + - API + - AbstractWorker + - Interface + - Reference + - SharedWorker + - Web Workers + - Worker +translation_of: Web/API/AbstractWorker +--- +

{{ APIRef("Web Workers API") }}

+ +

 Web Workers API 的 AbstractWorker 接口是一个定义适用于所有类型 worker 属性和方法的抽象接口,包括基础的 {{domxref("Worker")}},{{domxref("ServiceWorker")}} 以及 {{domxref("SharedWorker")}}。作为一个抽象类,你不能直接使用 AbstractWorker

+ +

属性

+ +

AbstractWorker 接口不会继承任何属性。

+ +

事件处理函数

+ +
+
{{domxref("AbstractWorker.onerror")}}
+
当 worker 中出现 {{domxref("ErrorEvent")}} 类型的错误时,{{ domxref("EventListener") }} 就会被调用。
+
+ +

方法

+ +

AbstractWorker 接口不会实现或继承任何方法。

+ +

例子

+ +

作为一个抽象类接口,你不应该在代码中直接使用 AbstractWorker 接口。取而代之,你应该使用 {{domxref("Worker")}} 或 {{domxref("SharedWorker")}},这两者都继承了 AbstractWorker 的属性。

+ +

下面的一小段代码是展示如何使用 {{domxref("Worker.Worker", "Worker()")}} 构造函数构造 {{domxref("Worker")}} 对象并使用它:

+ +
var myWorker = new Worker("worker.js");
+
+first.onchange = function() {
+  myWorker.postMessage([first.value,second.value]);
+  console.log('Message posted to worker');
+}
+ +

worker 的代码会从 "worker.js" 文件被加载。代码假设这里已经有一个现成的 {{HTMLElement("input")}} 元素且由 first 表示;设置了一个用于 {{event("change")}} 事件的事件处理函数,所以当用户更改 first 的值时,一个提示信息会被提交且通知到 worker。

+ +

完整的例子,请看:

+ + + +

相关规范

+ + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName("HTML WHATWG", "#abstractworker", "AbstractWorker")}}{{Spec2("HTML WHATWG")}}No change from {{SpecName("Web Workers")}}.
+ +


+ 浏览器兼容性

+ +

{{Compat("api.AbstractWorker")}}

+ +
+ +

相关链接

+ + diff --git a/files/zh-cn/web/api/abstractworker/onerror/index.html b/files/zh-cn/web/api/abstractworker/onerror/index.html new file mode 100644 index 0000000000..2fd61e2ccc --- /dev/null +++ b/files/zh-cn/web/api/abstractworker/onerror/index.html @@ -0,0 +1,73 @@ +--- +title: AbstractWorker.onerror +slug: Web/API/AbstractWorker/onerror +tags: + - API + - AbstractWorker + - EventHandler + - Property + - Reference + - Web Workers + - Workers + - onerror +translation_of: Web/API/AbstractWorker/onerror +--- +

{{ APIRef("Web Workers API") }}

+ +

概述

+ +

{{domxref("AbstractWorker")}}接口的onerror特性是一个事件句柄,在 {{domxref("Worker")}}的{{event("error")}}事件触发并冒泡时执行。

+ +

语法

+ +
myWorker.onerror = function() { ... };
+ +

示例

+ +

下面的代码片段展示了通过 Worker() 创建 Worker 对象的过程, 以及设置onerror回调函数:

+ +
var myWorker = new Worker("worker.js");
+
+myWorker.onerror = function() {
+  console.log('There is an error with your worker!');
+}
+ +

规范

+ + + + + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('HTML WHATWG', "#handler-abstractworker-onerror", "AbstractWorker.onerror")}}{{Spec2('HTML WHATWG')}}No change from {{SpecName("Web Workers")}}.
{{SpecName('Web Workers', "#handler-abstractworker-onerror", "AbstractWorker.onerror")}}{{Spec2('Web Workers')}}Initial definition.
+ +

浏览器兼容性

+ +
+

{{Compat("api.AbstractWorker.onerror")}}

+ +

试图加载跨域 Worker 的错误差异

+ +

早期浏览器会抛出 SecurityError,在规范变更后,则是  {{event("error")}} 事件。具体见 Loading cross-origin worker now fires error event instead of throwing; worker in sandboxed iframe no longer allowed.

+
+ +
 
+ +

另请参阅

+ + -- cgit v1.2.3-54-g00ecf