jquery.load()在IE 6中不起作用

时间:2010-09-23 10:59:30

标签: jquery iframe

我使用jquery文件上传文件,即ajaxuploader没有任何flash .. 它在加载jquery时加载iframe,但它在IE 6中不起作用,但它在IE 7中工作正常 onload函数在IE 6中不起作用,

我使用了ajaxuploader.js文件来执行此操作,,,请帮助

var name = 'iframe_au' + get_uid();

//创建iframe,所以我们不需要刷新页面以避免在fileupload中回发

this.iframe = $('<iframe name="' + name + '"></iframe>')
.css('display', 'none')
.appendTo('body');  

onload事件

var iframe = this.iframe;
iframe.load(function(){
  var response = iframe.contents().find('body').text();
});

但是这个onload事件没有在IE 6中触发,但它可以在IE7等中运行。

1 个答案:

答案 0 :(得分:1)

使用给定的信息解决问题有点困难,但您可以尝试使用window.setTimeout包装加载函数。

我的猜测是IE6在成功添加到浏览器之前尝试加载iframe(并已加载到dom中)。

示例 http://jsfiddle.net/MnUSH/1/

$(function() {

    var name = 'iframe_au' + new Date().getTime(); //get_uid()
    this.iframe = $('<iframe name="' + name + '"></iframe>').css('display', 'block').appendTo('body');
    this.iframe.attr('src', '/somepage'); //This will return a 404 page

    var iframe = this.iframe;

    window.setTimeout(function() {

        iframe.load(function() {
            var response = iframe.contents().find('body').text();
            alert(response); //Alerting response
        });

    }, 200);


});