1. Laden Sie JS- und CSS -Dateien dynamisch (mithilfe von nativen JS und JQuery) dynamisch.
Iframe -Struktur:
Rahmen0 (Vater)
Frame2 (sub)
Frame3 (sub)
Triggerereignis in Frame2 auslösen, JS, CSS -Dateien und DOM -Elemente dynamisch in Frame3 laden?
*Kann zwischen derselben Ebene aufgerufen werden, und die gleiche Ebene kann durch die Kind-Eltern-Kind-Methode aufgerufen werden
Parent.Parentfram ("Diese Methode ruft andere Kinderfarmen an");
1.JQuery's append ()
Die Codekopie lautet wie folgt:
Schnelle Geschwindigkeit, synchron (muss JQuery einführen)
var obody = document.getElementById ("Frame3_ID"). ContentWindow. $ ("Körper");
var str = "<div> ... </div>"
var scriptTag = document.getElementById ("Frame3_ID"). ContentWindow.document.getElementById ("Pop");
if (! scripttag) {
Obody.Append (str);
}
var Oscript = 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 ();
********************************************************
Das obige Beispiel: a.
********************************************************
2.js appendChild ()
Langsame Geschwindigkeit, asynchron (Sie müssen feststellen, ob JS geladen wurde)
Lektion 2:
Die Codekopie lautet wie folgt:
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 ("Kopf");
if (ohead && oHead.length) {
ohead = ohead [0];
}anders{
ohead = obody;
}
var elemdivTag = document.getElementById ("Frame3_ID"). ContentWindow.document.getElementById ("pop");
if (! elemdivTag) {
Obody.Appendchild (Popdiv)
}
var Oscript = document.createelement ("Skript");
Oscript.id = "Oscript1";
Oscript.Type = "text/javaScript";
Oscript.src = "/test.js";
var scriptTag = document.getElementById ("main"). contentwindow.document.getElementById ("Oscript1");
if (! scripttag) {
OHEAD.AppendChild (Oscript);
}
Oscript.onload = Oscript.onReadyStatechange = function () {
if ((! this.ReadyState) || this.readystate == "komplett" || this.readyState == "Loaded") {
document.getElementById ("main"). contentWindow.test ();
}anders{
console.info ("Kann die Datei oscript2.js nicht laden");
}
}