在父視窗中獲取Iframe中的元素 & 在Iframe中獲取父視窗中的元素
阿新 • • 發佈:2019-01-31
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訪問就行。