我正在尝试使用隐藏的Iframe上传文件并获取回复。以下代码在Firefox上正常工作但在IE上中断。它无法获得回复。
Line....
var content = $j(this).contents().find("body:last").text();
非常感谢任何帮助/建议。 感谢。
$j('#uploadForm').submit(function(e) {
var jThis = $j('#uploadForm');
var strName = ("uploader" + (new Date()).getTime());
var jFrame = $j("<iframe id=\"" + strName + "\" name=\"" + strName + "\" src=\"about:blank\" />");
jFrame.css("display", "none");
jThis
.attr("method", "post")
.attr("enctype", "multipart/form-data")
.attr("encoding", "multipart/form-data")
.attr("target", strName)
;
$j("body:first").append(jFrame);
jFrame.load(function(objEvent) {
var content = $j(this).contents().find("body:last").text();
alert(content);
});
});
答案 0 :(得分:0)
我认为JQuery没有更具体的方法来抽象出IFRAME实现中的差异。我也不确定是否可以在文档(您的IFRAME)中的DOM元素上调用JQuery方法,该文档本身不具有对JQuery的引用。所以,我会尝试这样的事情:
var d = $j(this);
if(d.body) {
return d.body.innerHTML;
}
else if(d.innerHTML) {
return d.innerHTML;
}
else {
return 'Frame has no body';
}
答案 1 :(得分:0)
试试这个:
jFrame.load(function(objEvent) {
var content = $(this.contentWindow.document.body).html();
alert(content);
});