[英]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.