IE浏览器网页部分图片无法显示、PNG图片无法显示的有效解决办法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
最近电脑IE浏览器老是有部分图片显示红叉叉,于是上网找“IE图片红X“”IE部分图片无法显示”“网页部分图片无法显示”,始终没找到一个正确的办法解决问题。
正打算再下一个其他浏览器来试验下,发现网速又特别慢,只好一边下着,一边研究图片红X的特征。右键看图片链接属性,然后在IE 里面输入图片具体地址,图片同样显示的是红X,别人的电脑能显示,我的无法显示?
后来仔细一看,发现这些无法显示的图片后缀都是.png,于是上网找“PNG图片无法显示”,很顺利就搞定了。
方法如下:(我是使用的第一个方法就搞定了,刚开始的时候提示没有找到输入点,只好从网上下了个pngfilt.dll,然后运行命令,红X图片能显示了,说明还真是pngfilt.dll图片的问题,只是PNG图片显示效果很失真,我的电脑是XPSP3,我估计是文件版本没下对,就从之前的XPSP3系统GHO文件里面提取这个文件出来,Replacer替换之后,运行命令又提示无输入点,可我打开IE浏览网页的时候发现图片不失真了,晕!总之搞定pngfilt.dll文件就对了,看样子再一次替换SP3的dll文件之后可能不需再运行注册!)
方法一、使用开始——运行,在运行输入框中输入“regsvr32 c:\windows\system32\pngfilt.dll”(然后点击确定)
注意,这个pngfilt.dll在有的系统中是在 c:\windows\system中的,要自己查看一下这文件在哪里,根据自己的系统修改一下路径。如果在注册时出现“已加载 c:\windows\system32\pngfilt.dll,但没有找到DllRegisterSever 输入点。无法注册这个文件”,则表明这个文件可能损坏了,你要去别的机子去Copy一个好的过来。再进行一次注册。(也可以去网上下载一个pngfilt.dll,切记在覆盖原文件时一定要在系统的安全模式下,否则系统会不断还原,也可以使用Replacer等类似软件工具进行替换)
方法二、1、“开始”菜单——“ 运行”,在打开处输入“regsvr32 pngfilt.dll”——点“确定”。
2、“开始”菜单——“ 运行”,在打开处输入“regedit”——点“确定”打开注册表编辑。
3、找到HKEY_LOCAL_MACHINE/SOFTWARE/MICROSOFT/INTERNET EXPLORER/EMBEDEXTNTOCLSIDMAPPINGS 文件夹(左边)
点“EMBEDEXTNTOCLSIDMAPPINGS”看其子文件夹里有没有“.PNG”
4、假若没有“.PNG”文件夹,则选定“EMBEDEXTNTOCLSIDMAPPINGS”文件夹,指着它点鼠标右键——新建“项”——将新建文件夹命名为“.png”——选定新建的“.png”——在右边栏空白处,点鼠标右键——新建“字符串值”——将新建“字符串值”命名为“clsid”(也可用重命名)——双击打开“clsid”——在“数值数据”填“02BF25D5——8C17——4B23——BC80——D3488ABDDC6B”——点“确定”即可。
5、关闭IE浏览器,重新打开IE,这时png图片就能正常显示了。
方法三、开始——运行,在运行输入框中输入“Regedit”,到这个路径
“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Accepted Documents”,在右边右键“新建”——“字符串值” 紧接着最大的数字命名,我这里是3,故命名为4,并赋值为“image/png”
文件丢失,pngfilt.dll是个关键文件,应该在c:\windows\system32\路径下,此文件丢失会引起该故障。
2 文件注册项损坏,如果pngfilt.dll文件如果存在,那么可能是注册项丢失。使用开始->运行,在运行输入框中输入“regsvr32 c:\windows\system32\pngfilt.dll”(然后点击确定)。
我搜索了一下机器,发现该文件存在却不在system32路径下,于是copy过去解决。
昨天开机发现我的IE出了故障,浏览很多图片的时候无法显示,很是郁闷,思索了半天也没有找到有效的办法,后来只好GOOGLE之,这时候发现一篇文章,给了我很大帮助。特转载如下,一些地方稍作修改,以求新手更加明白,希望原作者见谅。原文地址可以在梁宏舍的专栏找到,点击进入。
(希望各位不要嫌我的文章罗嗦:) 因我希望写的文章有个案情记录,如果我的方法无效,则至少后来的人少走几步路)
前几天打开QQ空间,写些文章,写好后,想输入验证码时,发现,验证码是个大红叉!以为是QQ空间出问题了,没去管它,无聊之下翻开Doxygen的帮助文件(CHM格式)看,结果发现很多图片都是红叉!奇怪了,查看图片属性,发现没显示的图片都是PNG格式图片的链接,因为CHM文件查看器调用的正是 IE内核,我又打开QQ空间,把那验证码位置的图片下载下来,一看,正是PNG格式的!而其它的图片均没事,奇怪了?!(Lv.注:我的情况差不多,不过我发现问题的所在是因为我在Opera和firefox均可以正常浏览图片。)
上百度搜索,有人说是IE6不能查看PNG是个BUG,但老大啊,我之前是能看的,且图片也不只是4,097 字节或 4,098 字节,无论大小怎样,都不能看。还有人说是HKEY_LOCAL_MACHINE/SOFTWARE/MICROSOFT/INTERNET EXPLORER/EMBEDEXTNTOCLSIDMAPPINGS/ 下加个.png 的子键然后还要修改什么键值的,这个,我试过也是无效,在朋友正常的机子里发现这个路径下也是没有.png 子键的,也就是说这个说法也是不正确的。有人说重装IE6,我重装了,无效!有人说要装IE7,无效!有人说要重装系统,没试过……(Lv.注:当时我也把这几个方法试了个遍,均无一管用。就差重装了...)
后来查到外国的PNG格式开发主页,在FAQ中讲到IE显示不了PNG的问题,其中给了几个方法,虽然没有真正解决我的问题,但相信会有人对得上号的:)
1、使用开始->运行->cmd,在运行输入框中输入“regsvr32 c:\windows\system32\pngfilt.dll”(然后点击确定)
注意,这个pngfilt.dll在有的系统中是在 c:\windows\system中的,要自己查看一下这文件在哪里,根据自己的系统修改一下路径。(Lv.注:我的是在c:\windows \system32中找到的,XP用户可以参考。)如果在注册时出现“已加载
c:\windows\system32\pngfilt.dll,但没有找到DllRegisterSever 输入点。无法注册这个文件”,则表明这个文件可能损坏了,你要去别的机子去Copy一个好的过来覆盖。再进行一次注册。
2、有些人是因为自己系统的设置问题,即任意打开一个文件夹,在上方菜单上选择“工具”->“文件夹选项”->“文件类型”,选择下方的“还原”按钮。(如插图1)。(Lv.注:同样我没有这个问题,而且在我的机器上找不到作者说的还原按钮-_-)
3、开始 -> 运行,在运行输入框中输入“Regedit”,到这个路径“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
\Windows\CurrentVersion\Internet Settings\Accepted Documents
”,在右边右键“新建”->“字符串值” 紧接着最大的数字命名,我这里是3,故命名为4,并赋值为“image/png”。(见插图2)。
4、有个特别的注册表位置[HKEY_CLASSES_ROOT\MIME\Database\Content Type\image/png] !虽然这个回复似乎没有解决发言人的问题,但却启发了我,我打开Regedit,去到〔HKEY_CLASSES_ROOT\MIME\Database〕一看,天哪!!!我这个键完全是空的!!!什么都没有!我再去朋友正常的机子(与我一样是WinXPSP2)上一看,这个键里的项目不止一百项………………郁闷哪!于是我把他机子的
〔HKEY_CLASSES_ROOT\MIME〕整个键导出到mime.reg,再到我机子导入,咦,奇怪,什么都没有改变??什么都没有增加!!这里我想到了键的权限问题,在MIME键上右键,发现,权限里居然一个人都没有!于是我把MIME项整个删除,导入,再右键查看权限,正常(自己账号是全权控制的)!(Lv.注:这一步其实只要把MIME项全部删除,再导入你拷过来的就行,权限问题新手可以不要关注。注册表的导出只要对着你要导出的项点右键选导出即可。)
连忙打开IE,登录QQ,哈哈!搞定,验证码出来了!!!!
至此,所有的问题都解决了,目前我已经能够正常观看这些图片,再也没有困扰了。
题外话:IE和系统的紧密结合虽然是好事,不过却带来了很多不便,比如这次的事件,当时叫我的心拔凉拔凉的,还好火狐浏览器和OPERA 都能正常工作。所以建议还在使用IE的同志,考虑更换吧
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\CLSID\{A3CCEDF7-2DE2-11D0-86F4-00A0C913F750}]
@="CoPNGFilter Class"
[HKEY_CLASSES_ROOT\CLSID\{A3CCEDF7-2DE2-11D0-86F4-00A0C913F750}\InProcServer32]
@="C:\\WINDOWS\\system32\\pngfilt.dll"
"ThreadingModel"="Both"
[HKEY_CLASSES_ROOT\CLSID\{A3CCEDF7-2DE2-11D0-86F4-00A0C913F750}\ProgID]
@="PNGFilter.CoPNGFilter.1"