diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:41:15 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:41:15 -0500 |
commit | 4b1a9203c547c019fc5398082ae19a3f3d4c3efe (patch) | |
tree | d4a40e13ceeb9f85479605110a76e7a4d5f3b56b /files/de/web/api/messageevent | |
parent | 33058f2b292b3a581333bdfb21b8f671898c5060 (diff) | |
download | translated-content-4b1a9203c547c019fc5398082ae19a3f3d4c3efe.tar.gz translated-content-4b1a9203c547c019fc5398082ae19a3f3d4c3efe.tar.bz2 translated-content-4b1a9203c547c019fc5398082ae19a3f3d4c3efe.zip |
initial commit
Diffstat (limited to 'files/de/web/api/messageevent')
-rw-r--r-- | files/de/web/api/messageevent/index.html | 205 |
1 files changed, 205 insertions, 0 deletions
diff --git a/files/de/web/api/messageevent/index.html b/files/de/web/api/messageevent/index.html new file mode 100644 index 0000000000..5f3bc4c4c8 --- /dev/null +++ b/files/de/web/api/messageevent/index.html @@ -0,0 +1,205 @@ +--- +title: MessageEvent +slug: Web/API/MessageEvent +tags: + - API + - Channels + - Interface + - Nachrichten + - Referenz + - WebSockets + - Window + - Workers + - messaging +translation_of: Web/API/MessageEvent +--- +<div>{{APIRef("HTML DOM")}}</div> + +<p>Das <code><strong>MessageEvent</strong></code> Interface representiert eine Nachricht die von einem Zielobjekt empfangen wurde.</p> + +<p>Es wird verwendet in in:</p> + +<ul> + <li><a href="/en-US/docs/Web/API/Server-sent_events">Server-sent events</a> (siehe {{domxref("EventSource.onmessage")}}).</li> + <li><a href="/en-US/docs/Web/API/WebSockets_API">Web sockets</a> (siehe <code>onmessage</code> Eigentschaft des <a href="/en-US/docs/Web/API/WebSocket">WebSocket</a> Interface).</li> + <li>Cross-document messaging (siehe {{domxref("Window.postMessage()")}} und {{domxref("Window.onmessage")}}).</li> + <li><a href="/en-US/docs/Web/API/Channel_Messaging_API">Channel messaging</a> (siehe {{domxref("MessagePort.postMessage()")}} und {{domxref("MessagePort.onmessage")}}).</li> + <li>Cross-worker/document messaging (wie in den oberen beiden Einträgen, aber auch in {{domxref("Worker.postMessage()")}}, {{domxref("Worker.onmessage")}}, {{domxref("ServiceWorkerGlobalScope.onmessage")}}, usw.)</li> + <li><a href="/en-US/docs/Web/API/Broadcast_Channel_API">Broadcast channels</a> (siehe {{domxref("Broadcastchannel.postMessage()")}}) und {{domxref("BroadcastChannel.onmessage")}}).</li> + <li>WebRTC data channels (siehe {{domxref("RTCDataChannel.onmessage")}}).</li> +</ul> + +<p>Welche Aktion durch dieses Event ausgeführt wird, entscheidet die Funktion die als entsprechender Eventhandler für das {{event("message")}} Event definiert wurde. Beispielsweise durch das setzen eines <code>onmessage</code> handlers. </p> + +<p>{{AvailableInWorkers}}</p> + +<h2 id="Constructor">Constructor</h2> + +<dl> + <dt>{{domxref("MessageEvent.MessageEvent", "MessageEvent()")}}</dt> + <dd>Creates a new <code>MessageEvent</code>.</dd> +</dl> + +<h2 id="Eigenschaften">Eigenschaften</h2> + +<p><em>Dieses Interface erbt auch Eigenschaften seines parents, {{domxref("Event")}}.</em></p> + +<dl> + <dt>{{domxref("MessageEvent.data")}} {{readonlyInline}}</dt> + <dd>Die Daten die vom message emitter gesendet wurden.</dd> + <dt>{{domxref("MessageEvent.origin")}} {{readonlyInline}}</dt> + <dd>Ein {{domxref("USVString")}} der den Ursprung (Origin) des message emitters repräsentiert.</dd> + <dt>{{domxref("MessageEvent.lastEventId")}} {{readonlyInline}}</dt> + <dd>Ein {{domxref("DOMString")}} der die einzigartige ID des Events repräsentiert.</dd> + <dt>{{domxref("MessageEvent.source")}} {{readonlyInline}}</dt> + <dd>Eine <code>MessageEventSource</code> (welch ein {{domxref("WindowProxy")}}, {{domxref("MessagePort")}}, or {{domxref("ServiceWorker")}} Objekt sein kann) welche den message emitter repräsentiert.</dd> + <dt>{{domxref("MessageEvent.ports")}} {{readonlyInline}}</dt> + <dd>Ein Array bestehend aus {{domxref("MessagePort")}} Objekten, welche die Ports repräsentieren, welche mit dem channel verbunden sind durch die die Nachricht gesendet wurde (Bespielsweise in channel messaging oder wenn eine Nachricht zu einem shared worker gesendet wird).</dd> +</dl> + +<h2 id="Methoden">Methoden</h2> + +<p><em>Dieses Interface erbt auch Methoden von seinem parent, {{domxref("Event")}}.</em></p> + +<dl> + <dt>{{domxref("MessageEvent.initMessageEvent()")}} {{deprecated_inline}}</dt> + <dd>Initialisiert ein Message Objekt. <strong>Bitte nicht mehr benutzen</strong> — <strong>benutzen Sie bitte den {{domxref("MessageEvent.MessageEvent", "MessageEvent()")}} constructor stattdessen.</strong></dd> +</dl> + +<h2 id="Examples">Examples</h2> + +<p>In unserem <a class="external external-icon" href="https://github.com/mdn/simple-shared-worker"> Grundlegenden Shared Worker Beispiel</a> (<a class="external external-icon" href="http://mdn.github.io/simple-shared-worker/">Shared Worker ausführen</a>), haben wir zwei HTML Seiten, von denen jede eine einfache Berechnung ausführt. Die unterschiedlichen Skripte benutzen die gleiche Worker Datei um die Berechnungen auszuführen — sie können beide darauf zugreifen, selbst wenn sich ihre Seiten in verschiedenen Fenstern befinden.</p> + +<p>Der folgende Ausschnitt zeigt wie man ein <code>SharedWorker</code> Objekt mit dem {{domxref("SharedWorker.SharedWorker", "SharedWorker()")}} constructor erzeugen kann. Beide Skripte enthalten dies:</p> + +<pre class="brush: js">var myWorker = new SharedWorker('worker.js'); +</pre> + +<p>Beide Skripte greifen durch ein {{domxref("MessagePort")}} Objekt auf den Worker zu, welcher mit der {{domxref("SharedWorker.port")}} Eigenschaft erstellt wurde. Wenn das onmessage event mittels addEventListener hinzugefügt wird, wird der port automatisch mittels seiner <code>start()</code> Methode gestartet:</p> + +<pre class="brush: js">myWorker.port.start();</pre> + +<p>Wenn der Port gestartet wurde, senden beide Skripte Nachrichten zu dem Worker und verarbeiten die Nachrichten welche vom Worker empfangen werden mittels <code>port.postMessage()</code> und <code>port.onmessage</code>:</p> + +<pre class="brush: js">first.onchange = function() { + myWorker.port.postMessage([first.value,second.value]); + console.log('Message posted to worker'); +} + +second.onchange = function() { + myWorker.port.postMessage([first.value,second.value]); + console.log('Message posted to worker'); +} + +myWorker.port.onmessage = function(e) { + result1.textContent = e.data; + console.log('Message received from worker'); +}</pre> + +<p>In dem Worker benutzen wir den {{domxref("SharedWorkerGlobalScope.onconnect")}} Handler um uns mit dem oben erwähnten Port zu verbinden. Die mit dem Worker verbundenen Ports sind durch die <code>ports</code> Eigenschaft des {{event("connect")}} Events erreichbar — dann benutzen wir die {{domxref("MessagePort")}} <code>start()</code> Methode um den Port zu starten, und den <code>onmessage</code> Handler um die Nachrichten die von den Hauptthreads gesendet wurden zu verarbeiten.</p> + +<pre class="brush: js">onconnect = function(e) { + var port = e.ports[0]; + + port.addEventListener('message', function(e) { + var workerResult = 'Result: ' + (e.data[0] * e.data[1]); + port.postMessage(workerResult); + }); + + port.start(); // Required when using addEventListener. Otherwise called implicitly by onmessage setter. +}</pre> + +<h2 id="Specifikationen">Specifikationen</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Specification</th> + <th scope="col">Status</th> + <th scope="col">Comment</th> + </tr> + <tr> + <td>{{SpecName('HTML WHATWG', "#messageevent", "MessageEvent")}}</td> + <td>{{Spec2('HTML WHATWG')}}</td> + <td> </td> + </tr> + </tbody> +</table> + +<h2 id="Browserkompatibilität">Browserkompatibilität</h2> + +<p>{{CompatibilityTable}}</p> + +<div id="compat-desktop"> +<table class="compat-table"> + <tbody> + <tr> + <th>Feature</th> + <th>Chrome</th> + <th>Edge</th> + <th>Firefox (Gecko)</th> + <th>Internet Explorer</th> + <th>Opera</th> + <th>Safari</th> + </tr> + <tr> + <td>Grundlegende Unterstützung</td> + <td>1</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatGeckoDesktop("2.0")}}</td> + <td>9</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatSafari('10.0+')}}</td> + </tr> + <tr> + <td><code>origin</code> als {{domxref("USVString")}} und <code>source</code> als <code>MessageEventSource</code></td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatGeckoDesktop("55.0")}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + </tr> + </tbody> +</table> +</div> + +<div id="compat-mobile"> +<table class="compat-table"> + <tbody> + <tr> + <th>Feature</th> + <th>Android</th> + <th>Edge</th> + <th>Firefox Mobile (Gecko)</th> + <th>IE Mobile</th> + <th>Opera Mobile</th> + <th>Safari Mobile</th> + </tr> + <tr> + <td>Grundlegende Unterstützung</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>3.0+</td> + </tr> + <tr> + <td><code>origin</code> als {{domxref("USVString")}} und <code>source</code> als <code>MessageEventSource</code></td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatGeckoMobile("55.0")}}</td> + <td>{{CompatNo}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + </tr> + </tbody> +</table> +</div> + +<h2 id="Siehe_auch">Siehe auch</h2> + +<ul> + <li>{{domxref("ExtendableMessageEvent")}} — ist diesem Interface sehr ähnlich, wird aber in Interfaces genutzt die Authoren mehr Flexibilität geben möchten.</li> +</ul> |