调用 iframe 中定义的 Javascript 函数 [重复]

Posted

技术标签:

【中文标题】调用 iframe 中定义的 Javascript 函数 [重复]【英文标题】:Call Javascript function defined inside iframe [duplicate] 【发布时间】:2014-04-04 13:29:38 【问题描述】:

我想调用 iframe 中的 javascript 函数(在 click() 上)

<a onclick="abc();" href=# >Call Function which is inside Iframe </a>

<iframe id=myFrame>
   <script>
     function abc()
         alert("I am inside Iframe");
     
    </script>
</iframe>

如果有JQuery的解决方案就更好了。

谢谢

【问题讨论】:

为什么“JQuery 有解决方案更好”? ***.com/questions/251420/…的可能重复 【参考方案1】:

您也可以给 iframe 一个 name='frameName',然后像这样从父级引用: onclick="window.frameName.abc()"

【讨论】:

不适用于 chrome。【参考方案2】:

使用它来访问你的框架函数:

    document.getElementById('myFrame').contentWindow.abc()

【讨论】:

+1 不需要混合 jQuery。【参考方案3】:

你可以这样做:

<a onclick="$('#myFrame')[0].contentWindow.abc();">Call function which is inside of Iframe</a>

基本上,我得到了对 Iframe 的引用。 contentWindow 是 iframe 的全局(窗口)对象,文档中的所有全局函数都是 window 的方法。

请注意,只有当两个页面(包含 iframe 的页面和 iframe 中的页面来自同一个域)时,您才能执行此操作。

【讨论】:

以上是关于调用 iframe 中定义的 Javascript 函数 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript:父页面与Iframe页面方法互调

javascript 能否调用到iframe标签包含页面中的函数

从 IFRAME IE11 调用父 JavaScript

js 父页面不能调用iframe页面的方法怎么回事?

从不同的窗口(不是子窗口)重新加载 iframe - javascript

iframe子页面调用父页面javascript函数的方法