首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何实现window.fileReader HTML5的跨浏览器兼容

如何实现window.fileReader HTML5的跨浏览器兼容
EN

Stack Overflow用户
提问于 2013-12-12 10:58:37
回答 3查看 14.9K关注 0票数 3

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

我想知道是否有任何方法在window.fileReader和更高版本中支持html5的IE8 API。

守则如下:

代码语言:javascript
代码运行次数:0
运行
复制
if(window.fileReader){
  alert("supported"); // in html5 works and fires alert but not in IE8 
}

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

  • 如果支持window.fileReader,我可以使用某些条件吗? 使用HTML5遵循'A‘行代码,否则如果不支持window.fileReader 使用其他一些thing...to读取文件
  • 我还想知道如何在不使用 HTML5 fileAPI..。但不使用ActiveXObject。

等待回应..。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-12-12 17:48:43

您需要检查以下几个部分的支持:

代码语言:javascript
代码运行次数:0
运行
复制
//Full File API support.
if ( window.FileReader && window.File && window.FileList && window.Blob )
{
    //Supported
}

else alert( "Not supported" );

你的第二个要求:

我还想知道不使用HTML5 fileAPI读取文件内容的方法.但不使用ActiveXObject。

你能做的就是:

  1. 有一个iframe (你将张贴到这里)
  2. 输入"file“
  3. 当用户选择本地文件时,使用javascript将其发送到iframe (例如,document.getElementById( "myForm" ).target = "myIframe"; document.getElementById( "myForm" ).submit(); )。
  4. iframe的POSTed页面(可以是PHP)读取上传的文件内容,并对父页(例如<script>window.parent.someCallbackFunction( theFileCOntents );</script>)进行回调。
票数 9
EN

Stack Overflow用户

发布于 2013-12-12 17:44:43

您可以使用简单的if逻辑检查功能,并在那里包装您的功能。

代码语言:javascript
代码运行次数:0
运行
复制
if ('FileReader' in window) {
  // Do something with FileReader since it's supported
} else {
  // Do something with your polyfill solution
}

您可以尝试像这样的多填充解决方案(在IE8中工作):https://github.com/Jahdrien/FileReader

票数 2
EN

Stack Overflow用户

发布于 2013-12-12 11:49:47

您可以始终使用尝试捕获来检查浏览器中支持的FileReader()。

代码语言:javascript
代码运行次数:0
运行
复制
try {
    var reader = new FileReader();
    //do something
}
catch(e) {
    alert("Error: seems File API is not supported on your browser");
    //do something
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20541611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档