從父頁呼叫iframe 中的JavaScript 函數
當iframe 嵌入到網頁中時,它會建立一個沙盒環境,隔離父頁面中的程式碼。但是,在某些情況下,您可能需要從父頁面存取和呼叫 iframe 中定義的 JavaScript 函數。
理解挑戰
標準方法,呼叫iframe 中的parent.functionName() 在這種情況下不起作用。這是因為父親頁面不是 iframe 的直接父級,而是 iframe 的沙箱虛擬環境。
存取 Iframe 的內容視窗
存取和呼叫在 iframe 內執行 JavaScript 函數時,您需要取得對其 contentWindow 屬性的參考。此屬性代表 iframe 的 window 對象,可讓您存取其全域變數、函數和 DOM。
呼叫JavaScript 函數
一旦擁有contentWindow參考,您可以使用以下語法在iframe 中呼叫JavaScript 函數:
document.getElementById('iframeID').contentWindow.functionName();
iframeID 是其中iframe 的id 屬性。
使用 window.frames 存取框架
或者,您也可以使用 window.frames 存取您的 iframe。使用此方法時,您應該注意,並非所有現代瀏覽器都支援它。這種方法的語法是:
window.frames[0].frameElement.contentWindow.functionName();
範例
假設您的iframe 的id 為“targetFrame”,並且您要呼叫的函數名稱為“targetFunction ” ()":
document.getElementById('targetFrame').contentWindow.targetFunction();
以上是如何從其父頁面呼叫 Iframe 中的 JavaScript 函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!