JS - 文件onload()不能与android浏览器一起使用

时间:2013-05-12 23:36:12

标签: javascript html upload touch

我有一个类似于示例http://jsfiddle.net/jonathansampson/K3A9r/的应用程序 但是如果我在iPad / android上使用这个概念进行文件上传它就不起作用了。使用onload()或onloadend()

,图像不会加载到浏览器中

HTML:

<input type="file" name="myFileSelect" />

JS:

 // Bind to the change event of our file input
$("input[name='myFileSelect']").on("change", function(){

// Get a reference to the fileList
var files = !!this.files ? this.files : [];

// If no files were selected, or no FileReader support, return
if ( !files.length || !window.FileReader ) return;

// Only proceed if the selected file is an image
if ( /^image/.test( files[0].type ) ) {

    // Create a new instance of the FileReader
    var reader = new FileReader();

    // Read the local file as a DataURL
    reader.readAsDataURL( files[0] );

    // When loaded, set image data as background of page
    reader.onloadend = function(){

        $("html").css("background-image", "url(" + this.result + ")");

    }

   }

});

2 个答案:

答案 0 :(得分:0)

我不相信onloadend事件在android或ios中得到很好的支持。我认为IE 10也不支持FileReader上的这个事件。也许您应该依赖onload事件。

答案 1 :(得分:0)

File.API适用于android浏览器3.0+ 或Android设备上的用户firefox

http://mobilehtml5.org/