【问题标题】:Access jQuery from iframe with another domain使用另一个域从 iframe 访问 jQuery
【发布时间】: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 之间进行通信。否则,就像公认的答案所说的那样。

标签: jquery iframe cors


【解决方案1】:

您不能从其他域访问子框架。这是安全原因。如果您可以访问不同域中的子框架内的数据,那么模拟假页面就很容易了。

【讨论】:

  • 很好,但是表格等呢?
  • 我认为不可能访问不同域中的子框架中的任何内容。我认为这样很好。安全问题。
  • 好吧,看来我别无选择,我会使用 PHP 的 php.net/manual/en/function.file-get-contents.php :) 还是谢谢...
猜你喜欢
  • 2012-02-18
  • 1970-01-01
  • 1970-01-01
  • 2017-11-06
  • 2013-07-04
  • 2017-07-30
  • 1970-01-01
  • 2015-10-01
  • 1970-01-01
相关资源
最近更新 更多