【发布时间】:2013-10-14 01:41:57
【问题描述】:
我想我可以通过将 jQuery 函数的上下文设置为 iframe 的文档来做到这一点,例如:
$(function(){//document ready
$('some selector', frames['nameOfMyIframe'].document).doStuff()
});
但是这似乎不起作用。一些检查表明,frames['nameOfMyIframe'] 中的变量是未定义的,除非我等待一段时间让 iframe 加载。但是,当 iframe 加载时,变量不可访问(我得到权限被拒绝类型错误)。
有人知道解决这个问题的方法吗?
【问题讨论】:
-
你好像被Same Origin Policy咬了。
-
你对 iframe 中的文档有控制权吗?
-
如果您遇到权限问题,我会假设 iFrame 的内容与您自己的代码所在的域不同,对吧?如果是这样,您正在尝试做一些设计上无法做到的事情。您必须查看 cross-domain Javascript(请参阅 Hamidi 的评论)。希望这可以帮助您找到解决问题的方向。如果您的页面和 iFrame 的内容都在同一个域中,那么请忽略我刚才所说的。
-
也许您正在寻找
.contents()? -
那么有没有办法做到这一点?