我以为我能够通过将jQuery函数的上下文设置为iframe的文档来实现这一点,例如:
$(function(){//document ready
$('some selector', frames['nameOfMyIframe'].document).doStuff()
});
然而,这似乎并不奏效。一些检查显示,除非我等待一段时间加载iframe,否则框架[' nameOfMyIframe']中的变量是未定义的。但是,当iframe加载时,变量不可访问(我得到权限拒绝类型错误)。
有谁知道如何解决这个问题?
答案 0 :(得分:1)
唯一的“解决方法”,如果您无法建立其他网站include the relevant CORS headers,则会获取iframe内容服务器端并将其作为来自您自己域的服务。
没有更简单的解决方法的原因是为什么有这个same origin policy:来保护用户。
您无法使用跨域iframe执行任何访问
答案 1 :(得分:0)
如上所述,您的问题是所谓的“同源策略”,它本质上是与范围相关的问题。本质上独立的html文档之间的通信是不合法的。但是,有几种情况下,iframe位于同一页面上的iframe可以在第三方中介的帮助下相互通信,请查看这个惊人的解决方案,例如: