簡體   English   中英

從iframe調用在父級中定義的javascript方法

[英]Call javascript method defined in parent from iframe

經過一些研究(甚至在stackoverflow上),我仍然不知道如何執行此操作。 parent.method()不會解決問題,我也不會嘗試其他解決方案。

情況:我在客戶端(在本例中為手機)上有一個index.html ,其中有一個iframe加載服務器端頁面。 我需要做的是從iframe內容(服務器端)調用index.html (客戶端)中定義的javascript方法。

例如(我在上述問題中未使用android),Android應用程序具有addJavascriptInterface ,在定義時,它允許僅調用window.CustomObject.MethodToCall()從服務器端頁面調用客戶端定義的方法。

有什么提示嗎?

謝謝!

在某些情況下,可能有必要從父文檔的iframe中調用javascript函數,反之亦然。 從iframe調用父文檔中的javascript函數。

例如; 父文檔具有ID屬性為“ iFrameId”的iframe,並且在該iframe文檔中定義了函數“ functionInIframe()”。 以下代碼可以從父文檔本身調用該iframe函數。

document.getElementById('iFrameId').contentWindow.functionInIframe();

以下代碼可以從iframe本身調用父文檔(functionInParent())中定義的函數。

parent.functionInParent();

這種javascript可以在父文檔和iframe之間進行交互。

這是原始帖子

window.top.foo 

用於頂層窗口

window.parent.foo

對於直接父母

我知道我參加這個聚會只晚了一年,但沒有真正的答案。

因此,為了做到這一點,兩個文件必須位於同一域中。 由於您在電話本地主機上具有index.html並在您的站點上加載了一個頁面,因此該頁面將無法工作(定位到example.com的主機)。 您也可以將index.html加載到您的網站之外,這樣可以解決此問題(將example.com更改為example.com)。 然后,您可以在常規window.top.function引用父框架。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM