1. 程式人生 > >在父視窗中獲取Iframe中的元素 & 在Iframe中獲取父視窗中的元素

在父視窗中獲取Iframe中的元素 & 在Iframe中獲取父視窗中的元素

1. 在父視窗中獲取Iframe中的元素

(1) JQuery

// 方式1
$("#iframe的id").contents().find("#iframe中控制元件的id").事件();
//方式2
$("#iframe中控制元件的id",document.frames("iframe的name").document).事件();

(2) JS

window.frames["iframe中的name值"].document.getElementById("iframe中控制元件的id").事件();

2. 在Iframe中獲取父視窗中的元素

(1) JQuery

$('#父視窗中元素的id', parent.document).事件(); 

(2) JS

window.parent.document.getElementById("父視窗中元素的id").事件(); 

注意:

本地測試時會報如下錯誤:

Uncaught DOMException: Blocked a frame with origin "null" from accessing a cross-origin frame.
原因:跨頁面操作涉及域的概念(origin),錯誤的意思是:未捕獲的安全錯誤:阻止了一個域為null的frame頁面訪問另一個域為null的頁面。程式碼執行時在本地直接用瀏覽器開啟的,位址列是file:///的頁面,只需改為localhost訪問就行。