1. Cargue dinámicamente archivos JS y CSS (usando JS nativo y jQuery)
estructura de iframe:
Frame0 (padre)
Frame2 (sub)
Frame3 (sub)
¿Activar el evento en Frame2, cargar dinámicamente JS, archivos CSS y elementos DOM en Frame3?
*Se puede llamar entre el mismo nivel, y se puede llamar al mismo nivel a través del método de niño-hijo-hijo-hijo
parent.Parentfram ("Este método está llamando a otras granjas infantiles");
1. JQuery's Append ()
La copia del código es la siguiente:
Velocidad rápida, sincrónica (necesito introducir jQuery)
var obody = document.getElementById ("frame3_id"). contentwindow. $ ("cuerpo");
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 ();
********************************************
El ejemplo anterior: a.
********************************************
2.js appendchild ()
Velocidad lenta, asíncrona (debe determinar si JS ha sido cargado)
Lección 2:
La copia del código es la siguiente:
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 ("cuerpo") [0];
var ohead = document.getElementById ("frame3_id"). contentwindow.document.getElementsBytagName ("cabeza");
if (ohead && ohead.length) {
ohead = ohead [0];
}demás{
ohead = obodia;
}
var elemdivtag = document.getElementById ("frame3_id"). contentwindow.document.getElementById ("pop");
if (! Elemdivtag) {
Obody.appendChild (PopDiv)
}
var oscript = 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.AppendChild (Oscript);
}
oscript.onload = oscript.onreadyStateChange = function () {
if ((! this.readyState) || this.readyState == "Complete" || this.readyState == "cargado") {
document.getElementById ("main"). contentwindow.test ();
}demás{
console.info ("no puede cargar el archivo OScript2.js");
}
}