Im vorherigen Artikel spricht es über die homologe Strategie des Browsers, dh die Verhinderung der Methoden und Attribute des anderen daran, auf die Seiten des anderen zugreifen zu können und die Lösung für die Lösung für die Cross -Domain -Probleme homologen Strategien zu erklären: Sub -Domain -Agentur , JSONP, JSONP, CORS. In diesem Artikel wird das HTML5 -Fenster ausführlich erläutert. POSTMESSAGE.
HTML5 Fenster.PostMessage APIHTML5 Window.PostMessage ist eine sichere Ereignisbasis -Nachrichten -API.
PostMessage Nachricht sendenDie Postmessage -Methode wird im Quellfenster aufgerufen, in dem eine Nachricht gesendet werden muss, um eine Nachricht zu senden.
QuellfensterDas Quellfenster kann ein globales Fensterobjekt oder der folgende Fenstertyp sein:
Iframe im Dokumentfenster:
var iframe = document.getElementById ('my-iframe');JavaScript Öffnen Sie das Pop -UP -Fenster:
var win = window.open ();
Das Vaterfenster des aktuellen Dokumentfensters:
var Win = Fenster.Parent;
Öffnen Sie das Fenster des aktuellen Dokuments:
var win = window.opner ();
Nachdem Sie das Quellfensterobjekt gefunden haben, können Sie die Postmessage -API aufrufen, um eine Nachricht an das Zielfenster zu senden:
"" Win.PostMessage ("Hallo", "ttp: //jhssdemo.duapp.com/"); "" "" "" "" "" "" "" "" "" "Die Post -Message -Funktion empfängt zwei Parameter: Die erste ist die zugesandte Nachricht, und die zweite ist die Quelle des Quellfensters.
Hinweis: Nur wenn die Quelle des Zielfensters mit dem in der Postmessage -Funktion übergebenen Quellparameterwert übereinstimmt, kann die Nachricht empfangen werden.
Empfangen Sie Postmessage -NachrichtenUm Nachrichten aus dem vorherigen Quellfenster über Postmessage zu empfangen, müssen Sie das Nachrichtenereignis nur im Zielfenster registrieren und die Funktion der Ereignisüberwachung binden, um die Nachricht im Funktionsparameter der Funktion zu erhalten.
Window.onload = function () {var text = document.getElementById ('txt'); + E.ORIGIN); } if (window.addeventListener) {// Registrieren Sie das Nachrichtenereignis für das Fenster und binden Sie das Fenster der Überwachungsfunktion. ;}};Die Funktion zur Überwachung von Nachrichtenereignissen empfängt einen Parameter, eine Ereignisobjektinstanz, die drei Attribute enthält:
Quellfenster
<! # CCCCCC;} </style> </head> <body> <button id = btn> öffnen </button> <button id = senden> </button> <! jhssdemo.duapp.com/demo/h5_postmessage/win.html id = otherwin> </iframe> <br/> <br/> "<Eingabe typ Window.onload = function () {var btn = document.getElementById ('btn'); Fenster durch Window.open ('http: //jhssdemo.duapp .com/Demo/H5_PostMessage/Win.html', 'Popup'); // Data document.getElementById (otherwin). ;}; </script> </body> </html>Zielfenster Win.html
<! ;} </style> </head> <body> <h1> Das neue Fenster </h1> <div id = txt> </div> <Script> Fenster.onload = Funktion () {var text = Dokument ('Txt'); (NORIGIN: + E.ORIGIN); für das Nachrichtenereignis und das Überwachungsfunktionsfenster.AdDeVentListener ('Nachricht', RecreInemsg, False);} else {windowEvent ('message', ReceivEmsg); " RezensionDurch die Untersuchung dieses Artikels habe ich gelernt, die Postmessage-API zu verwenden, um HTML5 zu verwenden, um zwischen den Fenstern zu kommunizieren, und ich weiß auch, dass sie zur Verwirklichung der Cross-Domain-Kommunikation verwendet werden kann. Wie IE7- können Sie es verwenden.
Das oben genannte ist der Inhalt dieses Artikels.