与 iFrame 内容通信
Communicating with iFrame contents
有一个包含整个文档(<html> to </html>)
的 iFrame 。本文档还包含一些script
标签。我的问题是,我们可以调用iFrame中存在的脚本的功能吗?
如果iframe
导航相同的域,那么您可以使用如下内容:
var result = document.getElementById("frame").contentWindow.func(args);
console.log(result);
演示:http://jsfiddle.net/Mnt3e/
您可以通过 contentDocument 属性访问 iframe 的内容,但前提是它属于同一域。
如果框架来自不同的域,并且可以控制源代码,您可以使用postMessage
在框架/文档之间进行通信。
对于浏览器支持,这里有一些信息,我们确实有一个jquery插件,其中包含不支持postMessage
的浏览器的回退。
相关文章:
- 如何在两个不同的iframe HTML之间进行通信
- 从子级(iframe)到父级的跨域通信不起作用
- 允许 My(!) 站点与 Iframe 通信
- 我可以使用window.postMessage方法从iframe中的网页通信到包括该iframe的UIWebView吗
- 使用在iFrame中运行的Javascript进行通信
- 与 iFrame 内容通信
- 从父 iframe 到子 iframe 的跨源通信
- 跨域上的 iframe 与窗口通信
- iFrame与按钮通信
- youtube javascript api如何在没有同源策略限制的情况下在iframe中与嵌入播放器通信
- 如何在iframe和父站点之间进行通信
- Cordova跨域文件://iframe contentwindow通信
- 通过ie8中的javascript在iframe和它所属的页面之间进行通信
- 使用easyXDM在父文档和从不同域(amazon)加载的子iframe之间进行通信
- 如何使用postMessage从嵌套的iframe到根文档进行通信
- 跨域Iframe通信
- Javascript跨域通信到iframe的父窗口
- IE阻止同一域iframe通信.(文档.域设置在所有框架上)
- 两个iframe正在通信:SecurityError
- iframe和父窗口之间的通信