如何获取HTML5的window.fileReader API的Cross Browser兼容性

Beu*_*rld 3 javascript html5

嗨Html5开发人员和HTML4开发人员......

我想知道是否有任何方法支持IE8及以上版本的html5的window.fileReader API.

代码如下:

if(window.fileReader){
  alert("supported"); // in html5 works and fires alert but not in IE8 
}
Run Code Online (Sandbox Code Playgroud)

实际上,我想在提交之前阅读文件的内容.

  • 我是否可以使用某些条件,如果支持window.fileReader,则
    使用HTML5跟随'A'代码行,否则如果不支持window.fileReader则
    使用其他东西...来读取文件
  • 我也想知道在不使用
    HTML5 fileAPI但不使用ActiveXObject的情况下读取文件内容的方法.

等待回复..

Don*_*mmy 7

您需要检查以下内容的多个部分:

//Full File API support.
if ( window.FileReader && window.File && window.FileList && window.Blob )
{
    //Supported
}

else alert( "Not supported" );
Run Code Online (Sandbox Code Playgroud)

你的第二个要求:

我也想知道在不使用HTML5 fileAPI但不使用ActiveXObject的情况下读取文件内容的方法.

你能做的是:

  1. 有一个iframe(你会发布到这个)
  2. 输入"文件"类型
  3. 当用户选择本地文件时,您使用javascript将其发布到iframe(例如 document.getElementById( "myForm" ).target = "myIframe"; document.getElementById( "myForm" ).submit();
  4. iframe的POSTed页面(可能是PHP)读取上传的文件内容并对父页面进行回调(例如<script>window.parent.someCallbackFunction( theFileCOntents );</script>)