为啥华为手机微信内置浏览器不支持FileReader

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥华为手机微信内置浏览器不支持FileReader相关的知识,希望对你有一定的参考价值。

参考技术A Adobe公司曾表示过,决定放弃Flash Player旨在为帮助进行HTML5的投资,因为HTML5能够代替苹果在其产品中预置的Flash软件,而且主要是能提高电池的效率。同时,Adobe也曾表示过,将专注于PC上的Flash开发,而针对移动设备的Flash工作将重点放在帮助Flash开发人员使用Adobe AIR为所有应用商店开发原生应用程序,而不再为新的移动设备(芯片、浏览器、OS版本等)开发Flash Player。 Adobe已经把自己在Google Play中的Flash Player下架了,很可能永远不会再上架。如果一定要在Android手机上播放swf文件,可以尝试AIR。或者尝试其他第三方的Flash播放器。

华为手机浏览器不支持PUT提交方式的解决方案

最近所在技术团队在开发webapp项目,前端angularjs+后端.Net MVC API,API登录接口定义为PUT提交方式,在做兼容测试时发现UC、safari、微信浏览器下都可以登录,但在华为自带浏览器下登录接口总是报错,抓包发现PUT提交请求体为空,用Inisomnia模拟提交空值得到和华为浏览器一样的接口返回信息,初步判断为浏览器提交了空值,Google了一下确实存在部分手机浏览器不支持PUT提交的情况,后在华为官网上了看下了,已有人遇到过来类似的情况,看来该浏览器确实不支持PUT提交。

最终解决方案如下:

查找资料得知PUT和POST差别仅在于Method标识不一样,遂决定前端加入判断,若为华为浏览器且为PUT提交时,则将此次提交Method改为POST,同时加入Head信息字段为"Real-Method",表明此次提交所需要的真实方法;后端用MVC自带过滤器判断,若Request中头信息包含"Real-Method"字段,则将本次请求Method修改为Real-Method的值。

这样的好处在于,不用修改原有的PUT接口,依然可以支持POST请求,以此来兼容那些不支持PUT的手机浏览器,且由于接口还要公共给移动端APP,这样移动端APP端之前已完成的逻辑就不需要做任何修改了。

(我们仅发现在华为6 PLUS、4A上有这样的问题,P8没有)

附上代码如下:

技术分享

后端:

技术分享

以上是关于为啥华为手机微信内置浏览器不支持FileReader的主要内容,如果未能解决你的问题,请参考以下文章

华为手机浏览器不支持PUT提交方式的解决方案

微信开发--关闭微信内置浏览器窗口问题

微信内置浏览器清除缓存cookielocal storage清除(安卓手机)

华为手机克隆可以克隆下载的软件app吗?

手机微信打开文件为何总是qq浏览器 为啥用微信打开文件总是跳转qq浏览器

为啥注册有的软件收不到短信验证码?