突然之间发现我的电脑上IE打开的网页中有的图片打不开了,开始还以为IE出了什么问题,清理缓存文件、重置浏览器、还原设置都试了,还是老样子,后来偶然注意到凡是打不开显示红叉的图片都是PNG格式的,而其它的图片格式都可以正常打开,最简单的试验方法是直接拖动常见的不同格式图片到IE上,只有PNG的不能打开。
到网上搜索解决方法,发现有诸如还原文件夹选项中的文件类型、手动添加注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Accepted Documents中的字符项image/png、重新注册pngfilt.dll文件(regsvr32 c:\windows\system32\pngfilt.dll)或者注册不成功要替换“损坏”的pngfilt.dll、导入正常电脑上HKEY_CLASSES_ROOT\MIME下Database等等方法。
本文中此图的重点在图片位置的红叉而不是在提示文字
逐一试用,除了最后一个HKEY_CLASSES_ROOT\MIME外,其它的对我都是无效,但我又不愿无端导入一大堆的注册表值,因此找一台正常的电脑进行对照,正好机上虚拟机的XP可以作对照对象,终于有所发现有如下的注册表项缺失:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\MIME\Database\Content Type\image/png]
"Extension"=".png"
"Image Filter CLSID"="{A3CCEDF7-2DE2-11D0-86F4-00A0C913F750}"
[HKEY_CLASSES_ROOT\MIME\Database\Content Type\image/png\Bits]
"0"=hex:08,00,00,00,ff,ff,ff,ff,ff,ff,ff,ff,89,50,4e,47,0d,0a,1a,0a[HKEY_CLASSES_ROOT\MIME\Database\Content Type\image/x-png]
"Extension"=".png"
"Image Filter CLSID"="{A3CCEDF7-2DE2-11D0-86F4-00A0C913F750}"
[HKEY_CLASSES_ROOT\MIME\Database\Content Type\image/x-png\Bits]
"0"=hex:08,00,00,00,ff,ff,ff,ff,ff,ff,ff,ff,89,50,4e,47,0d,0a,1a,0a
将以上内容拷入文本文件,改为后缀为.reg的注册表文件,双击即可导入注册表,然后问题就解决了,可以修复IE不能显示PNG图片的问题,不过一般来说只要前三段的HKEY_CLASSES_ROOT\MIME\Database\Content Type\image/png就可以了,后面的x-png不导也行,不过我的电脑既然两个都没有,所以多加一点也没什么的。
>> 除非说明均为原创,如转载请注明来源于http://www.stormcn.cn/post/1342.html