javascript - img标签在三星手机下不显示base64编码的图片
PHP中文网
PHP中文网 2017-04-11 12:40:23
[JavaScript讨论组]

其他手机又可以。。就三星手机不显示。 有人遇到过这样的问题吗?
我是这样的方式写的啊、搞了一天不知道什么原因

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(1)
PHPz

正好用的是三星手机,顺带就测试了一下。

首先题主的问题明显是不合逻辑的。这种图片显示不出来,是和浏览器内核有关,而和系统或者手机品牌无太大关系。不过由于android自带有一个浏览器内核,这个倒是和系统版本有关的,但和品牌也无太大关连(个人所知,如有错误烦请指出,感激不尽)。另外在提问时,如果能够附上相关测试环境以及具体方法和代码等,能够让大家更容易帮到你。

因此,我就在手机上转换了一张图片并写了一个简单的html,并用firefox,自带的html viewer和自带浏览器分别测试了一下。结果是除了自带浏览器不能显示外,其余两个浏览器均能正常显示base64形式的图片,而由于我在html中加入的文字也没有显示出来,故推测是手机自带的浏览器不支持打开本地文件(file:///storage/sdcard2/test.html),于是我又打开手机上的php服务器软件,将文件改为index.php再次用自带浏览器打开时(http://127.0.0.1:8080),即显示正常了。但是意外间发现,是自带浏览器不能打开内存卡上的文件(已授予相关权限),故显示空白,而可以打开机身存储空间内的文件,因此自带浏览器也是能够正确显示base64图片的。

所以,个人的结论是,题主的测试方法有误,或者问题思考方向不对,还请重新测试。如有疑问可在下方评论留言。

附测试环境,Samsung Galaxy A系, Android 6.0, unrooted.

test.html:
<html><body><img src="data:image/png;base64, .. /">Test it!</body></html>
测试文件下载地址(已改后缀为.bak)
http://qfs.mobi/f3668004
最开始用的是jpg图像,后来又换成png格式,结果是相同的。

测试结果截图:
1.Firefox

2.HTML viewer

3.自带,文件在内置存储

4.自带,文件在内存卡上

5.利用php服务器软件进行测试

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号