当iframe内容准备就绪时,从父页面访问iframe内容

时间:2012-03-19 14:17:01

标签: php jquery html iframe

我正在使用表单的target属性与jquery / php进行文件上传异步。目标是我的名为“uploads”的iframe;为了管理php文件中的错误,我返回一个像“ERR_TOO_LARGE_FILE”这样的字符串,其回显位于iframe体内。

问题是我不知道如何检测iframe何时准备就绪并访问其内容以查看是否存在错误。我尝试了以下代码,但它不起作用:

$("#uploads").on("load", function() {
    alert($(this).html());
});

警报框确实出现了,但内部没有任何内容。我也尝试使用ready事件,但这次没有出现。

如果你有一个更好的方法,想知道实现这个或替代解决方案的方法。

1 个答案:

答案 0 :(得分:4)

因为你不允许修改iframe的内容,至少你不应该这样做,你不能使用jquery直接访问它。使用.contents()& .find()从iframe获取html,以便您获得所需的信息。

所以,

$("#uploads").on("load", function() {
    alert($(this).contents().find('html').html());
});

应该返回iframe中html的内容。如果您知道要查找的特定元素,则可以将'​​html'替换为标记ID。