1. Chargez dynamiquement les fichiers JS et CSS (en utilisant JS et JQuery natifs)
Structure iframe:
Frame0 (père)
trame2 (sub)
trame3 (sub)
Événement de déclenchement dans Frame2, chargez dynamiquement JS, fichiers CSS et éléments DOM dans Frame3?
* Peut être appelé entre le même niveau, et le même niveau peut être appelé via la méthode enfant-parent
Parent.parentFram ("Cette méthode appelle d'autres fermes enfants");
1. JQUERY'S APPEND ()
La copie de code est la suivante:
Vitesse rapide, synchrone (besoin d'introduire jQuery)
var obody = document.getElementById ("frame3_id"). ContentWindow. $ ("body");
var str = "<div> ... </div>"
var scripttag = document.getElementById ("frame3_id"). ContentWindow.Document.getElementById ("POP");
if (! scripttag) {
Obody.Apend (Str);
}
var oscrip = document.createElement ("script");
oscript.id = "oscript1";
oscript.type = "text / javascript";
oscript.src = "/ test.js";
var otag1 = document.getElementById ("frame3_id"). ContentWindow.Document.getElementById ("oscript1");
if (! otag1) {
obody.append (oscript);
}
document.getElementById ("frame3_id"). ContentWindow.Test ();
********************************************
L'exemple ci-dessus: a.
********************************************
2.JS APPENDCHILD ()
Vitesse lente, asynchrone (vous devez déterminer si JS a été chargé)
Leçon 2:
La copie de code est la suivante:
var str = "<div> ... </div>"
var popdiv = document.CreateElement ('div');
popdiv.style.xx = xxx;
popdiv.id = "pop";
popdiv.innerhtml = str;
var obody = document.getElementById ("frame3_id"). ContentWindow.Document.getElementsByTagName ("Body") [0];
var ohead = document.getElementById ("frame3_id"). ContentWindow.Document.getElementsByTagName ("Head");
if (ohead && ohead.length) {
ohead = ohead [0];
}autre{
ohead = obody;
}
var elemDivtag = document.getElementById ("frame3_id"). ContentWindow.Document.getElementById ("POP");
if (! elemDivtag) {
Obody.ApendChild (popdiv)
}
var oscrip = document.CreateElement ("script");
oscript.id = "oscript1";
oscript.type = "text / javascript";
oscript.src = "/ test.js";
var scripttag = document.getElementById ("Main"). ContentWindow.Document.getElementById ("OScript1");
if (! scripttag) {
ohead.ApendChild (oscript);
}
oscript.onload = oscript.onreadystatechange = function () {
if ((! this.readystate) || this.readystate == "complet" || this.readystate == "chargé") {
document.getElementById ("Main"). ContentWindow.Test ();
}autre{
console.info ("ne peut pas charger le fichier OScript2.js");
}
}