1. Muat file JS dan CSS secara dinamis (menggunakan JS asli dan jQuery)
Struktur iframe:
frame0 (ayah)
frame2 (sub)
frame3 (sub)
Peristiwa pemicu di frame2, memuat secara dinamis JS, file CSS dan elemen DOM ke dalam frame3?
*Dapat dipanggil antara level yang sama, dan tingkat yang sama dapat dipanggil melalui metode anak-orang tua-anak
Parent.parentfram ("Metode ini memanggil pertanian anak lain");
1.JQuery's Append ()
Salinan kode adalah sebagai berikut:
Kecepatan cepat, sinkron (perlu memperkenalkan 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.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 ();
**************************************
Contoh di atas: a.
**************************************
2.js appendChild ()
Kecepatan lambat, asinkron (Anda perlu menentukan apakah JS telah dimuat)
Pelajaran 2:
Salinan kode adalah sebagai berikut:
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];
}kalau tidak{
ohead = obody;
}
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 == "dimuat") {
document.geteLementById ("Main"). ContentWindow.test ();
}kalau tidak{
console.info ("Tidak dapat memuat file oscript2.js");
}
}