引子:
 
 
 前段时间 做新版2.0 首页 的时候, 总感觉 新版首页 线上 精彩回顾下的 2张图片颜色怪怪的,当时以为是图片压缩太厉害导致的,由于实在太忙就没太在意!以下 是来自线上 截图:
 
 红色方框 我认为  那2张 怪怪的 图片,大家感受下颜色是否不一样!
 
 
 
问题描述:
 
       今天,测试同学找到我,说新版首页 精彩回顾下方 2张图片 在 ie8下 图片展现不出来了!
 
 
 
开始排查:
 
 通过 浏览器 查看图片 DOM结构, 代码如下:
 
 <img data-original="http://file.xxxx.com/view/banner/09e7286d39013387ff07e0efe7dc8c6ab3a51aef.jpg"  src="http://g.tbcdn.cn/s.gif" alt="" width="174" height="113” >
 
 
起初, 第一反应是图片地址问题,结合查看到的图片DOM结构,怀疑是 image  layzload 懒加载 机制导致,故而 尝试把 图片真实地址 直接写在 图片 img src 地址上 解决!
 
    ps:图片懒加载机制原理:
 
        通俗的讲就是js检测 用户鼠标滚动到 可视区域后,将预先埋在 img元素上 data-original 真实图片地址 替换到 图片 src上,从而达到图片懒加载的目的,实现性能优化!
 
 
结果 还是不行! 
 
呃~
 
 
 
进一步分析:
 
 快速列举下相关要素

  • 非 ie浏览器 正常显示图片;
  • 小于等于 原生ie 8 以下无法正常展现;
  • 非图片 懒加载检测机制问题;
  • 直接在浏览器中访问 图片地址 非 ie浏览器都正常显示, 原生ie8 及其以下不能正常显示(出现图片加载失败叉叉图标 )

初步分析结论:
 
     基于上述情况, 由此 分析出是2个可能性:

  • 图片地址问题(如:合法性、安全性等)
  • 图片本身问题

继续排查:
 
最初怀疑是 file路径关键字 影响(纯属自己假设歪歪),因为在window系统下,//file 是本地图片 window系统特有的路径地址,但 :

  1. ie8以上ok;
  2. 浏览器未发出警告和错误通知!说明url路径 安全、合法~
  3. 其他 同域名:http://file.xxxxx.com/ 下的图片展现正常!

故而 图片url地址 首先被 排除掉!

进一步排查:
 
将 无法正常 显示的图片 下载下来,二话不说,先查看图片信息:

  • 查看文件信息,如图:


 
 
 
 
看到没,CMYK!
 
猛然一惊,一眼 就瞅到 CMYK,顿时发现了 根本问题所在!于是也明白了 之前总觉得图片颜色怪怪的根本原因了!
 
 
 
先 特写感受下 RGB 和 CMYK 图片差异:
     
     以下2张相同图片,使用 不同颜色模式 视觉差异( 红色方框 的是 用于工业印刷用的),大家感受下:
 
 

CMYK颜色模式 简单解释:
 
     CMYK 颜色模式 主要用于  工业排版印刷使用,也被印刷业 称之为4色加色增强模式(青、品红、黄、黑值), 并不是 适用于 基于“光”色的3原色(红 绿 蓝) 256阶色的 屏幕 图片展示
 
  学过平面视觉设计或动画相关、美术专业 同学都知道,这里我就不多叽歪了! 
 
 
知道了图片主流这2种(总共3种) 颜色模式的差异,但和浏览器有什么关系呢?不急,往下看!
 
 
 
CMYK 各大 浏览器 支持情况:

Browser support for CMYK encoded images

Browser RGB CMYK
IE6, 7, 8 Yes No
IE9 Yes Yes
Firefox 2.x Yes No
Firefox 3.x - Yes Yes
Safari 4- Yes Yes
Google Chrome 5 - Yes Yes 

解决之道:
 
修复这个问题  (Fixing this issue)
 
Image editors such as Adobe Photoshop,  The Gimp, and others is capable of identifying if a jpg image is a CMYK image and saving a CMYK jpg as a RGB jpg. 
 
 
最佳方式,使用 Adobe Photoshop 图片编辑器或其他能够转换的图片编辑器,将图片 颜色模式 从CMYK  保存为 RGB 颜色模式即可!比如我的:


 
 
 
至此,保存重新上传后,ie8等显示正常!10分钟,问题解决!!!
 
 
 
 
刨根问底: 
 
 
     可能你会问? 既然 你说图片色彩模式有问题,那为什么 非ie 浏览器 都可以呢? 
 
 其实你让我回答,我只能说 人家 浏览器渲染引擎 比你ie的 trident引擎 先进,兼容、渲染机制处理的好! 从支持浏览器支持列表中也可以看到, Firefox 2.x 想当初也是不行滴!
 
 
 对于这个问题, 微软在新一代浏览器 里已经修复,故而从 ie9开始,可以正常展现!事实上从上面的支持 表中 或者 实际操作效果 来看,也是如此!
 
 
 
 
后记:
 
 
     这是一个隐藏很深,不容易被发现的 细节 所带来的图片展现问题, 我这里也只是有针对性的、简单的 剖析下原因! 抛砖引玉,供大家参考! 
 
 希望 运营同学、PD同学等其他 上传图片 的使用者们,注意下这个问题,谢谢!

ie8浏览器 图片本身问题导致 无法显示图片--- 诡异现象的排查分享的更多相关文章

  1. php图片本身有错无法显示的解决办法

    1.取消所有错误提示 2.如果没有报错,在header前(即设置输出格式前)使用ob_clean();

  2. DW 图片不显示的情况 ———网页只显示字不显示图片的情况 目录下的图片名被改动不显示图片的情况

    例子1-- 酒瓶子 alt  在不现实图片的情况下显示汉字    图文效果展示     alt  1************************* 语句---- <body> < ...

  3. jquery 图片没有路径,不显示图片。

    $("img").each(function () { if ($(this).attr("src").trim() == "") { $( ...

  4. vue2.0实现图片加载失败默认显示图片

    <div class="bg"> <img :src="goods.phoneFloorAd.resUrl" :onerror="e ...

  5. 图片在ie8浏览器打不开,其他浏览器都可以打开的问题

    问题描述: 1.图片在IE8浏览器打不开,但是IE8以上及其他浏览器均可以打开: 2.同一网站,其他图片可以在IE8浏览器打开 解决办法: 1.图片的颜色模式是CMYK模式,应改为RGB模式 2.修改 ...

  6. Vue 解决img标签不显示图片问题

    今天在写前端页面的时候,上传图片返回图片地址后,<img> 标签居然显示不出来,经过排查,原因是 <img v-if="hotel.url" :src=" ...

  7. PS不显示图片

    最近安装Adobe AIR的时候因为安装不了,删除了相关的配置文件,安装了Adobe AIR之后,用PS打开图片的时候发现不显示图片了,如图: 最后通过万能的百度了解到了是笔记本都采用了双显卡(i3. ...

  8. QT 用listveiw显示图片

    很多的时候需要浏览图片,一般会使用listview 显示图片,接下来我用listview显示图片 代码如下: QStandardItem * s1; QStandardItem * s2; QStan ...

  9. 如何在启用SharePoint浏览器功能的InfoPath 表单中添加托管代码以动态地加载并显示图片

    InfoPath 的浏览器表单不支持加载并显示图片,当然在模板中可以插入图片,但是如果想显示数据库的一幅图片,或是动态加载一张图片就无能为力了. 基实这个问题可以通过在浏览器表单中使用: " ...

随机推荐

  1. phpstrom+xdebug+chrome+postman调试工具搭建

    php是解释性语言,大部分调试的时候使用var_dump+exit就可以搞定了,但是在大项目或遇到了负载的问题的时候你就需要断点调试.变量打印.性能分析了,php也有非常程序的解决方案,我们现在就动手 ...

  2. 前端PHP入门-020-重点日期函数之获取时期时间信息函数

    你需要知道关于时间的几个概念: 时区/世界时/unix时间戳 1.时区 这个概念,之前大家听说过很多.我们来啰嗦两句,我们现实生活中使用的实区,在电脑里面也是一样有规定的. 1884年在华盛顿召开国际 ...

  3. 编写可移植C/C++程序的要点

    1.分层设计,隔离平台相关的代码.就像可测试性一样,可移植性也要从设计抓起.一般来说,最上层和最下层都不具有良好的可移植性.最上层是GUI,大多数GUI都不是跨平台的,如Win32 SDK和MFC.最 ...

  4. Global Vectors forWord Representation

    参考论文: GloVe: Global Vectors forWord Representation 参考博客:https://blog.csdn.net/coderTC/article/detail ...

  5. C11工具类:字符转换

    1.数值类型和字符串转换 1.1 数值转换为字符 std::string to_string(int value); std::string to_string(long value); std::s ...

  6. My deep learning reading list

    My deep learning reading list 主要是顺着Bengio的PAMI review的文章找出来的.包括几本综述文章,将近100篇论文,各位山头们的Presentation.全部 ...

  7. VS调试程序快捷键和系统快捷键

    调试程序快捷键 编译程序:F7 运行程序:ctrl + F5 打断点:F9 运行到断点位置:F5 单步执行:F10 单步进入函数:F11 结束调试:shift+F5 注释代码:ctrl+k,ctrl+ ...

  8. 20155117王震宇 实验三 敏捷开发与XP实践 实验报告

    实验内容 XP基础 XP核心实践 相关工具 实验要求 1.没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程 2.完成实验.撰写实验报告,实 ...

  9. three.js_camera相机

    https://blog.csdn.net/yangnianbing110/article/details/51275927 文章地址

  10. React Native 与 夜神模拟器的绑定

    之前一直用真机去调试, 每回更新一次都需要手动摇晃手机后才能reload JS, OMG,太麻烦了. 后来寻思模拟器网上推荐用Geny...什么的模拟器,但是那个模拟器还需要VBox一起用. 有点麻烦 ...