aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/api/worker/message_event
diff options
context:
space:
mode:
Diffstat (limited to 'files/zh-cn/web/api/worker/message_event')
-rw-r--r--files/zh-cn/web/api/worker/message_event/index.html85
1 files changed, 85 insertions, 0 deletions
diff --git a/files/zh-cn/web/api/worker/message_event/index.html b/files/zh-cn/web/api/worker/message_event/index.html
new file mode 100644
index 0000000000..909bfc8434
--- /dev/null
+++ b/files/zh-cn/web/api/worker/message_event/index.html
@@ -0,0 +1,85 @@
+---
+title: 'Worker: message event'
+slug: Web/API/Worker/message_event
+translation_of: Web/API/Worker/message_event
+---
+<div>{{APIRef}}</div>
+
+<div>当 worker 的父级接收到来自其 worker 的消息时,会在 {{domxref('Worker')}} 对象上触发 <code>message</code> 事件。例如:当 worker 通过 <code><a href="/en-US/docs/Web/API/DedicatedWorkerGlobalScope/postMessage">DedicatedWorkerGlobalScope.postMessage()</a></code> 发送了一条消息时。</div>
+
+<div></div>
+
+<div></div>
+
+<table class="properties">
+ <tbody>
+ <tr>
+ <th scope="row">是否冒泡</th>
+ <td>否</td>
+ </tr>
+ <tr>
+ <th scope="row">是否可撤销</th>
+ <td>否</td>
+ </tr>
+ <tr>
+ <th scope="row">接口</th>
+ <td>{{domxref("MessageEvent")}}</td>
+ </tr>
+ <tr>
+ <th scope="row">对应事件处理属性</th>
+ <td><code><a href="/en-US/docs/Web/API/Worker/onmessage">onmessage</a></code></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="例子">例子</h2>
+
+<p>下面的代码创建了一个 worker 并使用 <code><a href="/en-US/docs/Web/API/EventTarget/addEventListener">addEventListener()</a></code> 监听从 worker 发来的消息:</p>
+
+<pre class="brush: js">const worker = new Worker("static/scripts/worker.js");
+
+worker.addEventListener('message', (event) =&gt; {
+ console.log(`Received message from worker: ${event.data}`)
+});</pre>
+
+<p>另外,也可以使用 <code><a href="/en-US/docs/Web/API/Worker/onmessage">onmessage</a></code> 事件处理属性进行监听:</p>
+
+<pre class="brush: js">const worker = new Worker("static/scripts/worker.js");
+
+worker.onmessage = (event) =&gt; {
+ console.log(`Received message from worker: ${event.data}`)
+};</pre>
+
+<p>worker 使用  <code><a href="/en-US/docs/Web/API/DedicatedWorkerGlobalScope/postMessage">self.postMessage()</a></code> 发出消息:</p>
+
+<pre class="brush: js">// static/scripts/worker.js
+
+self.postMessage('I\'m alive!');</pre>
+
+<h2 id="规范">规范</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Specification</th>
+ <th scope="col">Status</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('HTML WHATWG', 'indices.html#event-message')}}</td>
+ <td>{{Spec2('HTML WHATWG')}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="浏览器兼容性">浏览器兼容性</h2>
+
+
+
+<p>{{Compat("api.Worker.message_event")}}</p>
+
+<h2 id="另请参阅">另请参阅</h2>
+
+<ul>
+ <li>相关事件: <code><a href="/docs/Web/API/Worker/messageerror_event">messageerror</a></code>.</li>
+ <li><code><a href="/en-US/docs/Web/API/DedicatedWorkerGlobalScope/postMessage">DedicatedWorkerGlobalScope.postMessage()</a></code>.</li>
+</ul>