Maison > interface Web > js tutoriel > Explication détaillée des exemples de communication de page parent-enfant javascript_compétences javascript

Explication détaillée des exemples de communication de page parent-enfant javascript_compétences javascript

WBOY
Libérer: 2016-05-16 15:49:55
original
1517 Les gens l'ont consulté

L'exemple de cet article décrit la méthode d'implémentation de la communication JavaScript entre les pages parent-enfant. Partagez-le avec tout le monde pour votre référence. L'analyse spécifique est la suivante :

Si une page avec le domaine www.abc.com contient une iframe avec une valeur d'attribut de nom childFrame et que le domaine de cette iframe est static.abc.com. Ensuite, vous pouvez définir le domaine de la page parent sur abc.com et le domaine de la page enfant sur abc.com, puis réaliser une communication entre la page parent et l'enfant (je suis un peu confus ici à propos des concepts de pages parent-enfant). et inter-domaines

Vous pouvez également obtenir un accès mutuel entre les pages parent et enfant sans utiliser la méthode ci-dessus.
La méthode est la suivante : utilisez window.frames[0] ou window.frames["childFrame"] sur la page parent. Ce qui est renvoyé est un objet Window, puis vous pouvez transmettre :

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

Copier après la connexion

Utilisez childWindow pour accéder à la fonction qui exécute la définition de la sous-page, et utilisez childDoc pour accéder au nœud DOM de la sous-page.

Pour accéder à la page parent, la page enfant peut passer parent (objet Window). Si une page est déjà une page de niveau supérieur, parent==self retournera true :

if(parent != self) {
// 当前页面有父页面 
  // 调用父页面的函数 
  parent.parentFunc(); 
  var parentDoc = parent.contentDocument || parent.document; 
  // 访问父页面的DOM节点 
}
Copier après la connexion

Page parent 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);
};

Copier après la connexion

Sous-page www.static.abc.com :

Copier le code Le code est le suivant :
document.domain = 'abc.com';

J'espère que cet article sera utile à la conception de la programmation JavaScript de chacun.

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal