Maison > Article > interface Web > méthode jquery de fonctionnement iframe_jquery
Jetons d'abord un coup d'œil au fichier d'aide pour l'objet content() dans JQUERY
contenu()
Aperçu
Recherchez tous les nœuds enfants (y compris les nœuds de texte) à l'intérieur de l'élément correspondant. Si l'élément est une iframe, recherchez le contenu du document
Exemple
Descriptif :
Trouvez tous les nœuds de texte et les gras
HTML
jQuery
Ajoutez du contenu dans un cadre vide
1 Il y a deux ifames dans le contenu
Copier le code
2 comme indiqué ci-dessus
jQuery dans leftiframe exploite le contenu du mainiframe et le contenu de someID
$("#mainframe",parent.document.body).contents().find("someID").html() ou
$("#mainframe",parent.document.body).contents().find("someID").val()
Jquery obtient la balise avec l'identifiant xuan dans la fenêtre parent à laquelle appartient l'iframe
$(window.parent.document).find("#xuan").html(x);//
//JS crée un élément et l'ajoute à l'Iframe du problème de fonctionnement du DOM dans l'élément :
.Appelez directement la méthode dans la fenêtre parent dans l'iframe : Supposons que la fenêtre parent ait une méthode add
self.parent.add();
=============================================== === ================
Différences dans les objets de document iframe entre IE et Firefox
Dans IE6 et IE7, nous pouvons utiliser document.frames[ID].document pour accéder à l'objet document dans la sous-fenêtre iframe. Cependant, il s'agit d'une méthode d'écriture qui n'est pas conforme aux normes du W3C et qui est également unique. sous IE. Dans Firefox Mais elle ne peut pas être utilisée sous Firefox. La méthode document.getElementById(ID).contentDocument qui est conforme à la norme W3C est utilisée sous Firefox. Lorsque j'ai écrit l'exemple aujourd'hui, je l'ai également testé via IE8. utilise la méthode conforme à la norme W3C
méthode document.getElementById(ID).contentDocument. Nous pouvons donc écrire une manière universelle d'obtenir une iframe sous IE et Firefox
Fonction de l'objet document—getIFrameDOM :
P.S. : Si nous voulons obtenir l'objet window de l'iframe au lieu de l'objet document, nous pouvons utiliser la méthode document.getElementById(ID).contentWindow. De cette façon, nous pouvons utiliser l'objet window dans la fenêtre enfant, comme les fonctions de la fenêtre enfant.
Utilisez la fonction de la fenêtre parent dans la fenêtre enfant pour obtenir l'objet document de la fenêtre parent
Dans la fenêtre enfant, nous pouvons obtenir l'objet window de la fenêtre parent via parent. Si nous avons une fonction appelée getIFrameDOM dans la fenêtre parent, nous pouvons l'appeler via parent.getIFrameDOM. parent.document. L'objet document de la fenêtre parent est accessible dans la fenêtre enfant.
Exemple de manipulation DOM d'iframe à l'aide de JavaScript
Tout d'abord, nous introduisons deux sous-fenêtres iframe dans la fenêtre parent, avec les identifiants wIframeA et wIframeB, et les adresses : a.html et b.html respectivement.
Le code HTML principal de la fenêtre parent est le suivant :
Bonjour tout le monde !
1. Dans une iframe, la fenêtre parent exploite le DOM de la fenêtre enfant
La fenêtre parent et la fenêtre enfant ont été construites, de sorte que nous puissions utiliser la fonction iframeA() suivante dans la fenêtre parent pour changer la couleur d'arrière-plan de la fenêtre enfant A en rouge :
2. Dans une iframe, la fenêtre enfant exploite le DOM de la fenêtre parent
Dans la fenêtre enfant, nous pouvons facilement utiliser la fenêtre parent DOM. Il suffit d'ajouter la méthode de l'objet parent Yige avant l'opération DOM. Par exemple : dans la fenêtre enfant B ci-dessus, nous pouvons utiliser ce qui suit. le code remplace le contenu par l'ID "pHello" dans la fenêtre parent :
------------------
3. Dans l'iframe, la sous-fenêtre A exploite le DOM de la sous-fenêtre B
Puisque la fenêtre enfant peut faire fonctionner l'objet fenêtre et l'objet document de la fenêtre parent, la fenêtre enfant peut également faire fonctionner le DOM d'une autre fenêtre enfant ~ Broken Bridge Canxue peut utiliser directement le parent dans la fenêtre enfant B pour appeler directement getIFrameDOM dans le fenêtre parent. La fonction obtient l'objet document de la sous-fenêtre A, il est donc très simple de modifier le contenu de la sous-fenêtre A, comme le code suivant :
=============================================== === ====================================
Un problème avec le changement automatique de la hauteur de l'iframe me dérange depuis longtemps. J'ai cherché des informations sur Internet, mais ce n'était pas très bon, je l'ai combiné avec jquery (version 1.3.2), qui est juste. 4 lignes de code Il est parfaitement compatible avec IE, Firefox, Opera, Safari, Google
Chrome, js est le suivant :
Citation
Ce mot-clé semble avoir des significations différentes dans différents navigateurs. FF et IE doivent utiliser le nom de l'iframe pour obtenir la hauteur interne de la page, tandis que d'autres navigateurs peuvent utiliser cet ID
Citation
Ils parlent tous d'un problème asynchrone. Si vous utilisez beaucoup ajax, mais que vous ne souhaitez pas le configurer à chaque fois, la modification dynamique de l'iframe ne répondra certainement pas aux exigences de propreté de votre code. , ou vous pouvez quitter l'iframe. Je ne peux parler que des méthodes générales de traitement. Après tout, les formulaires ajax ou dynamiques ne représentent qu'une faible proportion dans les applications générales. Après une requête asynchrone, il suffit d'ajouter :
à la fin.Code Js