Detaillierte Erläuterung der Verwendung von Postnachrichten
Postmessage-Nutzung
Eine Zusammenfassung der Verwendung von PostMessage in HTML5
Jeder weiß, dass die Übertragung von Daten zwischen Webseiten mithilfe von Ajax-Anfragen erfolgen kann. Heute werde ich zusammenfassen, wie die PostMessage, die ich gelernt habe, seitenübergreifende Datenanfragen abschließt. Zunächst einmal ist postMessage eine neue Methode in HTML5 zur Lösung domänenübergreifender Probleme. Wie nutzt er es also? Hier werde ich einen Fall teilen.
Empfohlene verwandte Video-Tutorials: HTML-Video-Tutorial
Sehen Sie sich den folgenden Code an:
test.html
<!DOCTYPE html> <html> <head> <title></title> <meta charset="utf-8"/> </head> <body> </body> <script> onmessage=function(e){ e=e||event; document.write("my name is ",e.data); document.body.style.background = 'red'; }; </script> </html>
1. html
<!DOCTYPE html> <html> <head> <title>window.postMessage</title> <meta charset="utf-8"/> <h1>test接收区</h1> </head> <body> </body> <iframe id="f" src="http://localhost:8080/chajian/test.html"></iframe> <script> var f=document.getElementById("f"); //给框架网页发送消息,然后收到之后,会传送过来。 f.οnlοad=function(){ setTimeout(function(){ f.contentWindow.postMessage("谢霆锋","http://localhost:8080"); },3000) } </script> </html>
Zunächst einmal ist das Prinzip so. Lassen Sie mich meinen Fallcode als Beispiel nehmen.
1.html ist in ein Iframe-Webseiten-Framework eingebettet, in das Daten übertragen werden. Nachdem 1.html geladen wurde, sendet er sie aktiv an test.html Nicholas Tse und dann an test.html empfangen werden, enthält es eine Verarbeitungsfunktion zum Empfangen von Nachrichten. Nach dem Empfang der Nachricht wird sofort eine Zeichenfolge an die Webseite zurückgegeben und der Hintergrund wird dann in Rot geändert. Dadurch wird der Effekt einer Webseiteninteraktion erzielt. Leider wird dies vom bösen ie6.7 nicht unterstützt und die Kompatibilität ist nicht hoch.
Hinweis: Beim Schreiben von postMessage wird vor postMessage das Fensterobjekt geschrieben, mit dem Sie kommunizieren möchten (d. h. mit wem Sie kommunizieren möchten). Zu diesem Zeitpunkt sind die Berechtigungen von window.parent eingeschränkt Rufen Sie dazu das übergeordnete DOM-Element ab und melden Sie es nicht in derselben Domäne. Andernfalls meldet der Browser einen Fehler und weist Sie darauf hin, dass Sie keinen domänenübergreifenden Zugriff durchführen können. Schauen wir uns die in postMessage empfangenen Parameter an sind die Daten, die Sie an ein anderes Fenster übergeben möchten (aus Sicherheitsgründen kann nur der Zeichenfolgentyp übergeben werden). es kann an jedes Fenster übergeben werden.
Das Obige ist eine einseitige Interaktion und das Folgende ist eine zweiseitige Interaktion. Tatsächlich sind sie gleich, aber beide Seiten sind so geschrieben, dass sie auf Sendeereignisse warten.
test.html
<!DOCTYPE html> <html> <head> <title></title> <meta charset="utf-8"/> </head> <body> <h1 class="header">page B</h1> <input type="text" id="inp" value="我想你"> <button οnclick="send()">send</button> </body> <script> window.addEventListener('message', function(ev) { // if (ev.source !== window.parent) {return;} var data = ev.data; document.write("my name is ",data); document.body.style.background = 'red'; }, false); function send() { var data = document.querySelector('#inp').value; parent.postMessage(data, 'http://localhost:8080/'); // 若父页面的域名和指定的不一致,则postMessage失败 // parent.postMessage(data, '*'); // 触发父页面的message事件 } </script> </html>
1.html
<!DOCTYPE html> <html> <head> <title>window.postMessage</title> <meta charset="utf-8"/> <h1>test接收区</h1> </head> <body> <h1 class="header">page A</h1> <div class="mb20"> <textarea name="ta" id="data" cols="30" rows="5">hello world</textarea> <button style="font-size:20px;" οnclick="send()">post message</button> </div> <!-- 跨域的情况 --> <iframe src="http://localhost:8080/chajian/test.html" id="child" style="display: block; border: 1px dashed #ccc; height: 300px;"></iframe> <script> function send() { var data = document.querySelector('#data').value; window.frames[0].postMessage(data, 'http://localhost:8080/'); // 触发跨域子页面的messag事件 } window.addEventListener('message', function(messageEvent) { var data = messageEvent.data; console.info('message from child:', data); document.write("收到了数据: ",data); document.body.style.background = 'red'; }, false); </script> </body> </html>
Ebenso ist 1.html die Hauptseite. Öffnen Sie HTML und Sie können interagieren.
Weitere Informationen zum Programmieren finden Sie auf dem Video-Tutorial-Kanal der chinesischen PHP-Website Einführung in die Programmierung!
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Verwendung von Postnachrichten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Der Artikel erörtert den HTML & lt; Progress & gt; Element, Absicht, Styling und Unterschiede vom & lt; Meter & gt; Element. Das Hauptaugenmerk liegt auf der Verwendung & lt; Fortschritt & gt; Für Aufgabenabschluss und & lt; Meter & gt; für stati

In Artikel werden Best Practices zur Gewährleistung der HTML5-Cross-Browser-Kompatibilität erörtert und sich auf die Erkennung von Merkmalen, die progressive Verbesserung und die Testmethoden konzentriert.

Der Artikel erörtert den HTML & lt; Datalist & gt; Element, das die Formulare verbessert, indem automatische Vorschläge bereitgestellt, die Benutzererfahrung verbessert und Fehler reduziert werden.Character Count: 159

In dem Artikel werden unter Verwendung von HTML5 -Formularvalidierungsattributen wie Erforderlich, Muster, Min, MAX und Längengrenzen erörtert, um die Benutzereingabe direkt im Browser zu validieren.

Der Artikel erörtert das HTML & lt; Meter & gt; Element, verwendet zur Anzeige von Skalar- oder Bruchwerten innerhalb eines Bereichs und seine gemeinsamen Anwendungen in der Webentwicklung. Es differenziert & lt; Meter & gt; von & lt; Fortschritt & gt; und Ex

In dem Artikel wird das Ansichtsfenster -Meta -Tag erörtert, das für das reaktionsschnelle Webdesign auf mobilen Geräten unerlässlich ist. Es wird erläutert, wie die ordnungsgemäße Verwendung eine optimale Skalierung von Inhalten und Benutzerinteraktion gewährleistet, während Missbrauch zu Design- und Zugänglichkeitsproblemen führen kann.

Der Artikel erörtert das & lt; iframe & gt; Der Zweck von Tag, externe Inhalte in Webseiten, seine gemeinsamen Verwendungen, Sicherheitsrisiken und Alternativen wie Objekt -Tags und APIs einzubetten.

HTML ist für Anfänger geeignet, da es einfach und leicht zu lernen ist und schnell Ergebnisse sehen kann. 1) Die Lernkurve von HTML ist glatt und leicht zu beginnen. 2) Beherrschen Sie einfach die grundlegenden Tags, um Webseiten zu erstellen. 3) hohe Flexibilität und kann in Kombination mit CSS und JavaScript verwendet werden. 4) Reiche Lernressourcen und moderne Tools unterstützen den Lernprozess.
