Jul 27

IE浏览器不能显示PNG图片的解决办法 不指定

lv , 13:29 , 杂七杂八 , 评论(2) , 引用(0) , 阅读(4548) , From 本站原创 | |

转载原创文章请注明,转载自:[burninglife‘s夏天]

本文链接: http://www.lifeburning.com/IE-PNG/



2007年10月11日更新:
感谢网友留言提供的简洁方法,因为我现在没有问题,所以没有试验,不过看起来,应该是没有问题的。

不用那么麻烦吧,我是这样解决的:
    1 文件丢失,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(请参照http://support.microsoft.c...),但老大啊,我之前是能看的,且图片也不只是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、在国外网站并没有找到真正的解决方法,后来,再搜索时,看到某个论坛的一个回复:http://www.msusenet.com/ar...,这里面说到有个特别的注册表位置[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的同志,考虑更换吧。

Tags: , , ,
  • 如果您也有Blog或者个人网站,您可以
  • 如果您是营销主管或者网站推广人员,您可以 (机会难得)
  • 如果您正在使用的是微软的IE浏览器,我们提醒您在网络流氓软件横行的今天,它开始出现诸多弊端和不安全性(IE7稍微好一点,但仍然不够安全)。推荐你放弃使用IE,
reno
2008/03/04 19:16
解决IE 7.0不能显示PNG图片的问题
最近也不知道装了什么软件,IE 7.0突然就不能显示任何的PNG图片了,全都是个红叉,连IE自己的错误页面也全是叉,实在是惨不忍睹。在网上找了半天,找到几个类似的情况,有人说是QuickTime改写了注册表,有人说什么png的一个pngfilt.dll被破坏了(谁吃饱了破坏这个dll?),解决方法是重新导入注册表并且重新注册那个dll。结果我一看注册表,果然QuickTime似乎破坏了它,因为和png相关的默认的地方都有了QuickTime的影子。但是导入正确的注册表也不行,重新注册那个dll也不行。又反复比较和导入了别人好的IE 7.0的机器上的注册表,也不行。网上下载的那个png相关的dll文件其实是IE 6.0用的,所以也不能用。甚至重装了IE都不行。

今天誓要搞定这个问题,于是用regmon一条一条看,看看IE在访问一个png图片的时候到底干了什么。微软确实是充分利用了注册表,为了访问一个png图片,IE居然就对注册表操作了两千六百多次。果然,这些记录里面既没有找到pngfilt.dll,也没有找到它的CID,但还是没啥头绪。突然发现,IE似乎枚举了一堆MIME的类型,其中居然有个类似“????µ/x-m4v”的奇怪类型。去注册表一看,果然有三个x-m4v,第一个就是那个乱码,第二个是“video/x-m4v”,第三个是“视频/x-m4v”,看来第一个应该是“视频”没搞好弄出来的(因为“视频”这两个字的GB2312码到ASCII中会变成ÊÓÆµ)。这个乱码的破玩意儿看着就不顺眼,删之。没想到,IE居然从此就可以显示PNG了!!

从来没想过MIME类型居然可以注册成中文的,因为其中有编码的问题,估计那个“视频/x-m4v”和乱码可能是什么国产播放器的杰作。而IE也是莫名其妙,怎么会多出个乱码类型PNG就挂了呢?为啥其他的MIME类型可以显示?
lyl
2007/10/11 18:37
不用那么麻烦吧,我是这样解决的:
1 文件丢失,pngfilt.dll是个关键文件,应该在c:\windows\system32\路径下,此文件丢失会引起该故障。


    2 文件注册项损坏,如果pngfilt.dll文件如果存在,那么可能是注册项丢失。使用 开始->运行,在运行输入框中输入 “regsvr32 c:\windows\system32\pngfilt.dll”(然后点击确定)。


    我搜索了一下机器,发现该文件存在却不在system32路径下,于是copy过去解决。
Xpink 回复于 2007/10/11 19:17
此方法也不错,我更新上去,感谢
分页: 1/1 第一页 1 最后页
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]