【发布时间】:2015-07-31 19:30:41
【问题描述】:
好的,我今天有一个大问题。我刚刚创建了一个带有src="somedomain.com/somepage.html" 的iframe 的网站,但我不知道如何访问somepage.html 包括的jQuery。我知道 CORS,但我也可以在带有父页面的 iframe 中运行函数。那么有什么方法可以在父页面的 iframe 中运行 jQuery 对象函数吗?
注意:我无法更改 somepage.html 的内容。
我尝试了以下方法:
mainIframe.contentWindow.$
但是控制台报错了:
错误:访问属性“$”的权限被拒绝
真的有可能吗?如果是,我该怎么做?
提前致谢。
【问题讨论】:
-
您不能从其他域访问框架。
-
您可以在父页面中添加任何内容吗?也许是一段javascript?如果没有,那么你就卡住了。允许 iframe 内的文档修改父文档会带来安全问题,这就是不允许这样做的原因。
-
@MartyMulligan 我可以在父页面中更改任何我想更改的内容,但我不能在 iframe 中更改。不知道我理解对不对。我不想从 iframe 修改父页面,但我想从父页面访问 jQuery :)
-
对不起,我的错误。如果您完全可以访问框架内容(甚至一次),您可以通过发布/拦截“消息”事件在 iframe 之间进行通信。否则,就像公认的答案所说的那样。