使用 JavaScript 存取 Iframe 中的元素
本文解決了使用 JavaScript 存取 iframe 中包含的元素的問題。主要目標是從其子頁面檢索位於 iframe 內的 textarea 的值。
利用 window.parent.getElementByID().value 的傳統方法無法擷取 iframe 內的 textarea 值。要解決此問題,解決方案在於利用 window.frames 集合。
存取相同網域 iframe 中的元素
如果 iframe 與 iframe 位於同一網域中父頁面,存取其元素很簡單。 window.frames 集合提供了一種與 iframe 內容互動的方式。
// Replace 'myIFrame' with the ID of your iframe // Replace 'myIFrameElemId' with the ID of the element within the iframe // You can now manipulate elements within the iframe as if they were part of the // parent document window.frames['myIFrame'].document.getElementById('myIFrameElemId')
訪問跨域Iframe 中的元素
但是,如果iframe 是託管的在不同的域上,瀏覽器安全措施會阻止此類訪問。由於同源策略,嘗試與跨域 iframe 互動將導致異常。
在這種情況下,可能需要使用替代方法,例如使用 postMessage 進行跨域通信,以在之間建立橋樑父頁和 iframe 的內容。
以上是如何使用 JavaScript 存取 Iframe 中的元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!