使用live()在加载时获取iframe内容

Boj*_*les 2 iframe jquery

我有一个文件上传脚本使用iframe,所以页面不必重新加载.

我遇到了一个问题,当使用jQuery的事件加载iframe时 iframe中检索数据.live(),如下所示:

$("iframe").live("load", function() {
    console.log($(this).contents().find("body").html());
});
Run Code Online (Sandbox Code Playgroud)

这个事件甚至没有触发(我在Firebug中什么都没得到),那么在从我的文件上传脚本中加载一些内容后,如何才能获取iframe的HTML?我想这样做,所以我可以在服务器上运行PHP脚本的返回状态.

我必须使用.live()这些元素是动态添加的,这意味着传统的元素.load()不起作用.

tim*_*ord 6

从jQuery文档:

注意:.live()和.delegate()方法不能用于检测iframe的load事件.load事件未正确冒泡父文档,并且事件委托不需要Firefox,IE9或Chrome设置event.target.

http://api.jquery.com/load-event/

您是否可以提供有关您尝试执行的操作的更多信息,应该可以捕获事件但不能使用iFrame加载.

  • 那么使用iFrame本身的原生onLoad事件呢?因此,当您生成iFrame时,可以指定类似于<iframe src ="http:// www ..."onLoad ="YourFunction();"></iframe> </ iframe>的内容,然后每次iFrame重新加载时,都会调用YourFunction? (2认同)