与iFrame内容进行通信

时间:2012-05-27 12:21:00

标签: javascript jquery

有一个包含整个文档(<html> to </html>)的iFrame。此文档也包含一些script标记。我的问题是,我们可以调用iFrame中存在的脚本的功能吗?

3 个答案:

答案 0 :(得分:1)

如果iframe导航到同一个域,那么您可以使用以下内容:

var result = document.getElementById("frame").contentWindow.func(args);
console.log(result);

DEMO: http://jsfiddle.net/Mnt3e/

答案 1 :(得分:0)

您可以通过contentDocument属性访问iframe的内容,但前提是它属于同一个域。

答案 2 :(得分:0)

如果框架来自不同的域,并且可以控制源代码, 您可以使用postMessage在框架/文档之间进行通信。

对于浏览器支持,有一些信息here我们确实有一个jquery plugin,其中包含不支持postMessage的浏览器的后备广告。