我想使用jquery操纵iframe中的html

时间:2013-10-07 12:59:35

标签: jquery html css css3 iframe

我以为我能够通过将jQuery函数的上下文设置为iframe的文档来实现这一点,例如:

$(function(){//document ready
$('some selector', frames['nameOfMyIframe'].document).doStuff()
});

然而,这似乎并不奏效。一些检查显示,除非我等待一段时间加载iframe,否则框架[' nameOfMyIframe']中的变量是未定义的。但是,当iframe加载时,变量不可访问(我得到权限拒绝类型错误)。

有谁知道如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

唯一的“解决方法”,如果您无法建立其他网站include the relevant CORS headers,则会获取iframe内容服务器端并将其作为来自您自己域的服务。

没有更简单的解决方法的原因是为什么有这个same origin policy:来保护用户。

您无法使用跨域iframe执行任何访问

答案 1 :(得分:0)

如上所述,您的问题是所谓的“同源策略”,它本质上是与范围相关的问题。本质上独立的html文档之间的通信是不合法的。但是,有几种情况下,iframe位于同一页面上的iframe可以在第三方中介的帮助下相互通信,请查看这个惊人的解决方案,例如:

Resizing an iframe based on content