1. โหลดไฟล์ JS และ CSS แบบไดนามิก (โดยใช้ JS และ JQuery ดั้งเดิม)
โครงสร้าง iframe:
Frame0 (พ่อ)
Frame2 (ย่อย)
เฟรม 3 (ย่อย)
เหตุการณ์ทริกเกอร์ใน Frame2 โหลดไฟล์ JS, CSS และองค์ประกอบ DOM แบบไดนามิกแบบไดนามิก
*สามารถเรียกได้ระหว่างระดับเดียวกันและระดับเดียวกันสามารถเรียกผ่านวิธีการเป็นพ่อแม่-ลูก
parent.parentfram ("วิธีนี้เรียกฟาร์มเด็กอื่น");
1. ต่อท้าย ()
การคัดลอกรหัสมีดังนี้:
ความเร็วเร็วซิงโครนัส (จำเป็นต้องแนะนำ 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 ("สคริปต์");
oscript.id = "oscript1";
oscript.type = "text/javascript";
oscript.src = "/test.js";
var otag1 = document.getElementById ("frame3_id"). contentWindow.document.getElementById ("oscript1");
ถ้า (! otag1) {
obody.append (oscript);
-
document.getElementById ("frame3_id"). contentwindow.test ();
-
ตัวอย่างข้างต้น:
-
2.JS AppendChild ()
ความเร็วช้าอะซิงโครนัส (คุณต้องพิจารณาว่ามีการโหลด JS)
บทที่ 2:
การคัดลอกรหัสมีดังนี้:
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];
}อื่น{
OHEAD = Obody;
-
var elemdivTag = document.getElementById ("frame3_id"). contentwindow.document.getElementById ("pop");
ถ้า (! elemdivtag) {
obody.appendchild (popdiv)
-
var oscript = document.createelement ("สคริปต์");
oscript.id = "oscript1";
oscript.type = "text/javascript";
oscript.src = "/test.js";
var scriptTag = document.getElementById ("หลัก"). contentWindow.document.getElementById ("oscript1");
if (! scriptTag) {
OHEAD.APPENDCHILD (Oscript);
-
oscript.onload = oscript.onreadyStateChange = function () {
if ((! this.readystate) || this.readystate == "เสร็จสมบูรณ์" || this.readystate == "โหลด") {
document.getElementById ("Main"). ContentWindow.Test ();
}อื่น{
console.info ("ไม่สามารถโหลดไฟล์ oscript2.js");
-
-