【发布时间】:2012-02-28 02:16:11
【问题描述】:
我在网页中有一个 iframe,我想在它准备好后做一些事情。我尝试了两种方法:
-
在父页面,我用这个
jQuery('#iframe').load(function() { //my code here });
这段代码会在 iframe 加载完成时执行(如我所愿),但因为我的 iframe 指向另一个域,所以此时我无法访问它的内容(跨域问题)
-
在 iframe 中,我使用这个:
jQuery('body').ready(function() { });
这段代码是在iframe开始加载的时候执行的,比我想要的要早很多,所以代码不能正常运行。
那么当 iframe 完成加载并准备好进行 DOM 操作时,我如何执行代码
我搜索发现easyXDM可能是解决方案,但我想知道是否存在更简单的解决方案。
谢谢。
【问题讨论】:
-
由于它是跨域的,除非您在浏览器中禁用跨域策略,否则它永远不会为 DOM 操作做好准备。
-
我有点困惑。
$(function() { });在 iframe 内应该可以正常工作。无论如何,您都无法从父文档中对其进行操作。所以它应该已经适用于你所拥有的。
标签: javascript jquery iframe cross-domain domready