Heim  >  Artikel  >  Web-Frontend  >  Ausführliche Erläuterung der Javascript-Beispiele für die Eltern-Kind-Seitenkommunikation_Javascript-Kenntnisse

Ausführliche Erläuterung der Javascript-Beispiele für die Eltern-Kind-Seitenkommunikation_Javascript-Kenntnisse

WBOY
WBOYOriginal
2016-05-16 15:49:551451Durchsuche

Das Beispiel in diesem Artikel beschreibt die Implementierungsmethode der JavaScript-Eltern-Kind-Seitenkommunikation. Teilen Sie es als Referenz mit allen. Die spezifische Analyse lautet wie folgt:

Wenn eine Seite mit der Domäne www.abc.com einen Iframe mit einem Namensattributwert von childFrame enthält und die Domäne dieses Iframes static.abc.com ist. Dann können Sie die Domäne der übergeordneten Seite auf abc.com und die Domäne der untergeordneten Seite auf abc.com festlegen und dann die Kommunikation zwischen übergeordneten und untergeordneten Seiten erreichen (ich bin hier etwas verwirrt über die Konzepte von übergeordneten und untergeordneten Seiten). und domänenübergreifend

Sie können den gegenseitigen Zugriff zwischen übergeordneten und untergeordneten Seiten auch ohne die oben beschriebene Methode erreichen.

Die Methode lautet: Verwenden Sie window.frames[0] oder window.frames["childFrame"] auf der übergeordneten Seite. Zurückgegeben wird ein Window-Objekt, und dann können Sie Folgendes übergeben:

var childWindow = window.frames[0];
// 或者 window.frames["childFrame"] 或者直接childFrame 或者childFrame.window 
var childDoc = childWindow.contentDocument || childWindow.document; 

Verwenden Sie childWindow, um auf die Funktion zuzugreifen, die die Definition der Unterseite ausführt, und verwenden Sie childDoc, um auf den DOM-Knoten der Unterseite zuzugreifen.

Um auf die übergeordnete Seite zuzugreifen, kann die untergeordnete Seite parent (Fensterobjekt) übergeben. Wenn eine Seite bereits eine Seite der obersten Ebene ist, gibt parent==self true zurück:

if(parent != self) {
// 当前页面有父页面 
  // 调用父页面的函数 
  parent.parentFunc(); 
  var parentDoc = parent.contentDocument || parent.document; 
  // 访问父页面的DOM节点 
}
übergeordnete Seite von www.abc.com:

document.domain = 'abc.com';
var ifr = document.createElement('iframe');
ifr.src = 'http://static.abc.com/';
ifr.style.display = 'none';
document.body.appendChild(ifr);
ifr.onload = function(){
  var doc = ifr.contentDocument || ifr.contentWindow.document;
  // 在这里操纵子页面
  alert(doc.getElementsByTagName("h1")[0].childNodes[0].nodeValue);
};

www.static.abc.com Unterseite:


Code kopieren Der Code lautet wie folgt:
document.domain = 'abc.com';
Ich hoffe, dass dieser Artikel für das JavaScript-Programmierdesign aller hilfreich sein wird.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn