有一個iFrame包含整個文檔(<html> to </html>)
。本文檔還包含一些script
標籤。我的問題是,我們可以調用iFrame中存在的腳本的功能嗎?與iFrame內容通信
回答
如果iframe
導航相同的域,那麼你可以使用這樣的事情:
var result = document.getElementById("frame").contentWindow.func(args);
console.log(result);
您可以通過contentDocument屬性訪問iframe的內容,但前提是它屬於同一個域。
在這種情況下,你我們需要'contentWindow'屬性來調用內部iframe的功能。 'theIframeNode.contentWindow.foobar()'應該有希望在iframe中調用全局'foobar'函數。 –
他想通過調用函數進行通信。 –
@JonathanProtzenko感謝它的工作 – gaurav
如果幀來自不同的領域,並有在源代碼控制, 您可以使用postMessage
在幀/文檔之間進行通信。
對於瀏覽器支持,有一些信息here,我們確實有一個jquery plugin與不支持postMessage
的瀏覽器的回退。
- 1. https與iframe的iframe內容
- 2. 與Ember.js中的iframe通信
- 3. 跨域與iframe的通信
- 4. iFrame與按鈕通信
- 5. Iframe內容高度。滾動iframe內容與父頁
- 6. Chrome擴展程序:通信iframe <->內容腳本
- 7. iframe和通信
- 8. iframe來的IFrame通信
- 9. HTML iFrame內容
- 10. 與Docker跨容器通信
- 11. 通過拖拽保存IFRAME內容
- 12. 允許通過javascript訪問iframe內容
- 13. 通過CURL請求加載iFrame內容?
- 14. 父Iframe postMessage通信
- 15. 跨域iframe通信
- 16. 通過訪問一個iframe的內容沒有成功「內容()」
- 17. UIWebView內容與可滾動iframe
- 18. 控制的iframe內容與jQuery
- 19. 打印iframe中的內容與jQuery
- 20. 調整iframe的內容與jquery
- 21. 調試IFrame內容
- 22. iframe內容大小
- 23. 樣式iframe內容
- 24. 隨機iframe內容
- 25. 查找iFrame內容
- 26. 打印iframe內容
- 27. 編輯iframe內容
- 28. 隱藏iframe內的內容?
- 29. iframe子對父對象與多個iframe的通信
- 30. 通過點擊更新iFrame的iFrame頁面/內容
並且是同一個域上的iframe源代碼? – Joseph
是的,它是在相同的域 – gaurav
我不知道你,但[你是如何錯過這些從搜索?](http://stackoverflow.com/search?q=iframe+communication) – Joseph