เฟรมใช้ในการจัดเก็บหน้าย่อยไม่ว่าจะเป็น iframes หรือ framesets วัตถุหน้าต่างเป็นวัตถุทั่วโลกและฟังก์ชั่นและวัตถุทั้งหมดในหน้าอยู่ในขอบเขต
1. พาเรนต์หมายถึงหน้าต่างหลัก หากมีการทำรังหลายชั้นในหน้าต่างหลักด้านบนแสดงถึงหน้าต่างหลักระดับบนสุด
ตัวเองหมายถึงหน้าต่างเอง
if (self == top) {//} เพียงกำหนดว่าหน้าต่างอยู่ที่ระดับบนสุดถ้า (self == parent) {} //2.1. หน้าหลักเข้าถึงองค์ประกอบหน้าเด็ก แนวคิดก็คือองค์ประกอบทั้งหมดของหน้าย่อยอยู่ในหน้าต่างวัตถุเอกสารเพียงแค่รับมันก่อนแล้วจึงพูดง่าย
เป็นการดีที่สุดที่จะตั้งค่าแอตทริบิวต์ชื่อสำหรับเฟรมซึ่งเป็นการดำเนินการที่สะดวกที่สุด ชอบ
<iframe name = "test" src = "child.html"> </iframe>
หากคุณต้องการรับองค์ประกอบด้วย id 'เมนู' ใน child.html คุณสามารถเขียนได้เช่นนี้:
window.frames ["test"]. document.getElementById ('เมนู'); // เนื่องจากฟังก์ชั่นทั้งหมดถูกเก็บไว้ในวัตถุหน้าต่างหน้าต่างเริ่มต้นสามารถลบออกได้: เฟรม ["ทดสอบ"]. document.getElementById ('เมนู'); // ในเบราว์เซอร์แอตทริบิวต์ชื่อของเฟรมเทียบเท่ากับวัตถุหน้าต่างของหน้าย่อยตามค่าเริ่มต้นดังนั้นจึงสามารถย่อได้เพิ่มเติม: test.document.getElementById ('เมนู');2.2 หน้าหลักเข้าถึงฟังก์ชั่นหรือวัตถุหน้าเด็ก ฟังก์ชั่นและวัตถุของหน้าย่อยอยู่ในวัตถุหน้าต่างเช่นเดียวกับด้านบนคีย์คือการรับวัตถุ
// ถ้า child.html กำหนดฟังก์ชั่น showmesg และจำเป็นต้องเรียกในพาเรนต์จากนั้นเขียน window.frames ['test']. showmesg (); // ตัวย่อแบบทดสอบ. showmesg (); // ในทำนองเดียวกันวัตถุยังเข้าถึงการแจ้งเตือน (test.person);
2.3 วิธีอื่น ๆ ในการรับเอกสาร
ก่อนอื่นใช้ 'document.getElementById ()' หรือ 'document.getElementsByTagname ()' เพื่อให้ได้เฟรมเป็นองค์ประกอบภายใต้เอกสารแล้วเข้าถึงแอตทริบิวต์ ContentDocument/contentWindow (iframe, เฟรมเฉพาะ)
<iframe id = "testId" src = "child.html"> </iframe> // ====== var doc = document.getElementById ('testId'); // หรือ var doc = document.getElementsByTagname ('iframe') [0]; จากนั้น var winordoc = doc.contentDocument || doc.contentwindow; // เลือกหนึ่งในสองถ้า (winordoc.document) winordoc = winordoc.document; winordoc.getElementById ('เมนู'); // หากคุณต้องการวัตถุหน้าต่างให้เขียนแบบนี้: ถ้า (winordoc.defaultView) winordoc = winordoc.defaultView;3.1 หน้าเด็กเข้าถึงองค์ประกอบหน้าหลัก แนวคิดเดียวกับ 2.1 ก่อนอื่นให้ได้หน้าต่างพาเรนต์หน้าต่างวัตถุเอกสาร
parent.window.document.getElementById ('ParentMenu'); // ตัวย่อ parent.document.getElementById ('ParentMenu');3.2. หน้าเด็กเข้าถึงฟังก์ชั่นหรือวัตถุหน้าหลัก ความคิดเดียวกับ 2.2 ก่อนอื่นรับวัตถุหน้าต่างหน้าต่างพาเรนต์
parent.parentfunction ();
ในที่สุดขอพูดถึงกลยุทธ์ต้นกำเนิดเดียวกันของ JS นั่นคือรหัส JS ที่อยู่บนเว็บไซต์ A ไม่อนุญาตให้เข้าถึงเนื้อหาที่อยู่บนเว็บไซต์ B แม้ว่ารหัสจะมาจากเว็บไซต์ B หากเฟรมเป็นหน้าของเว็บไซต์อื่น ๆ