游戏推广广告语:IE6浏览某些特定网站“网页有错误”的解决方法和历程

来源:百度文库 编辑:中财网 时间:2024/05/09 15:50:49
2011-12-20  king9413。版权声明:可以任意转载,但转载时必须标明原作者king9413,原始链接http://www.360doc.com/content/11/1220/19/2633_173694530.shtml以及本声明。 缘起:最近,单位同事反应使用IE6浏览某购物网站发生问题,网页显示不全。本人使用自己的桌面电脑,也发现同样的问题。主要现象如下:一进主页,IE6显示“网页有错误”。进入某一物品的购物网页时,尺寸参数不能显示。IE6也显示这个网页“网页有错误”。查网页源代码,发现是有Javascipt没有执行。但该问题只针对该网站,其他网站(有JS的网站)倒是正常得很!问题非常奇怪! 经搜索及验证,该问题的标准处理流程如下:0,退出所有IE,启动空白IE。1,IE工具->Internet选项->高级,按“还原默认设置”,按“确认”。2,IE工具->Internet选项->安全,对“Internet”,选“默认级别”或对“自定义级别”进行重置。3,IE工具->Internet选项->常规,对“Internet临时文件”,“删除cookiet”,“删除文件”中选“删除所有脱机文件”,按“确定”。4,启动IE,重新浏览网站。执行以上步骤后,理论上可以消除“网页有错误”此问题。 见鬼的是,经折腾数次后,证明此方法对本人机器完全无效。本人不信邪,继续折腾,具体经历如下。 折腾思路:为折腾得有条理,本人特别将可能出现问题的方面分析如下:-----------------------------------------------------------------------------------------------程序:
          IE的DLL
          升级为IE8
          IE的加载项
数据:
          IE的设置(重置及清理缓存)
          IE的缓存(index.dat文件)
          系统临时文件
          注册表
          代理服务器缓存
网络:
          TCP/IP协议栈
软件兼容性:
          Mcafee反病毒软件
          360          其他-----------------------------------------------------------------------------------------------折腾经过:一共四大方面。本人尝试过的方法如下:1,多机器验证网页           排除【网页自身问题】(同时发现单位部分机器也存在类似问题,但大部分为正常)
2,按照标准处理流程(见此文最初方式)处理(无效)           可排除【IE的设置】
3,使用regsvr32重新注册IE的所有DLL(无效)            可排除《系统注册表-部分》
4,在本机注册新用户,再用IE浏览(无效)           可排除【IE的缓存】(因新用户IE无缓存)
5,安全模式并取消加载项(无效)           可排除【软件兼容性】及【IE的加载项】
6,关闭mcafee反病毒及360(无效)           可排除【软件兼容性】
7,重置tcp/ip协议栈(无效)           可排除【系统网络设置】
8,安装firefox发现一点问题都没有。firefox(此网页正常可浏览)          可排除【系统网络设置】
9,升级为IE8(无效),出现同样的状况          可排除【升级为IE8】
10,使用超级兔子、360修复、360安全浏览器修复。全部(无效)           可排除《注册表-部分》及【系统临时文件】
11,利用超级兔子的IE修复专家,重新安装IE6(无效)           可排除《IE的DLL-部分》
12,重新打补丁KB2559049(无效)           可排除《IE的DLL-部分》
13,直接安装部分DLL(从正常浏览的机器上copy)(无效)           可排除《IE的DLL-部分》
14,删除realplayer(无效)           排除《软件兼容性》realplayer与flash冲突
15,chkdsk清理C,D盘(无效)           排除《系统临时文件-部分》
16,使用WiseRegistryCleaner清理压缩注册表(无效)           排除《注册表-部分》
17,清理开始菜单的文件(无效)           排除《系统临时文件-部分》
18,调整IE设置高级选项(根据MS知识库文章)(无效)           排除【IE的设置】
19,12月15日刚好有IE最新补丁,但打完重启后依然(无效)           彻底排除【IE的DLL】
20,改IP地址、删除代理缓存(无效)           排除【代理服务器缓存】21,利用CacheCentry替IE管理缓存(无效) 用大量时间做完以上无用功后,基本把所有可能发生问题的原因都过滤一遍,但依然无效。本人百思不得其解。本人坚持“只要不放弃就是成功”,“精诚所至金石为开”等变态理念,继续有空就折腾^_^。下面是问题真正原因,上面本人写的可以作为反面教材,全部忽略。
转折点:某日决定深入研究此问题。变黑箱为白箱。单位机器多,刚好相邻2台机器,1台可以,另1台不行。经对比Internet临时文件夹,有如下发现:该网页某些js文件,在不同机器的临时文件夹中竟然大小不同。如jquery-1.3.2.min.js这个文件,在正常机器上是56K。在问题机器上是22K!在本人机器上也是22K。这是关键问题。直接从问题网页相关url下载jquery-1.3.2.min.js,发现确实是22K。IE做了什么不同的操作?  解决步骤:1,先怀疑是编码问题。难道是UTF-8与GB2312问题。后发现是本人一时大脑短路。因发现问题机器上的js文件内容是二进制!2,但问题机器当js出问题,进行调试时显示的代码确实是字符。为何文件体积小?为何能变大。本人终于发现可能经过压缩。把二进制的js文件改名zip,发现能正确解压缩。网站对js文件进行了压缩!昏倒!3,本人对HTTP协议略有所知。IE难道处理Content-Encoding:gzip时有问题?果然是。网上有大量资料说IE6对gzip支持有问题。这个是IE6的bug。这个bug如IE cache bug一样,到IE8还存在(否则我们就不用清理缓存)4,进一步发现,IE6对gzip还是有支持的。服务器端也可以做优化来避免此问题。况且本单位其他IE6都没问题的原因何在?头痛。5,使用抓包工具观察下,发现确实此网站针对IE进行了优化,以避免IE6的这个bug。网站在Cache-Control: 中去掉no-cache, no-store。6,终于发现了此文章《IE不能访问BTChina的解决方法》此文说在http://www.kawa.net/works/perl/contenc/gzip-test.html找到答案(可惜我不懂日文)。文章说,IE设置成了HTTP 1.0模式,所以不支持gzip。必须设置为HTTP1.1。打开Internet选项,把高级选项卡中的“使用HTTP 1.1”选项勾选。7,检查本人IE发现,“使用HTTP 1.1”已勾选,因“还原默认设置”会自动勾选此选项。那应该不会有问题啊。8,本人顺便发现,在“使用HTTP 1.1”下,还有一个“通过代理连接使用HTTP 1.1”是无勾选的!而本人单位确实是使用代理上网!勾选之,重新进入问题网站。发现一切正常,问题解决。 总结:IE6浏览某些特定网站“网页有错误”,而其他网站正常。是因为某些特定网站使用了gzip来压缩js文件(其他css文件或swf文件也可以),而多数网站没有使用gzip压缩或者对IE6进行了屏蔽,因此多数网站是正常的。这里又分几种情况:1,特定网站使用了gzip,没有对IE6优化。-->IE肯定有显示有问题。firefox就没问题。2,特定网站使用了gzip,对IE6进行了优化。-->IE(有开启HTTP 1.1),显示正常。                                                                                -->IE(没有开启HTTP1.1),类似本人是通过代理上的。显示异常。必须设置相关选项。 BTW:顺便解决了本人机器上www.360doc.com需要刷新才能正确显示的问题。应该也是因为有文件进行了gzip压缩。 深层原因分析:1,本人发现,初始安装IE6时,“通过代理连接使用HTTP 1.1”是有勾选的。但本人上某些网站有问题时使用过“还原默认设置”。结果变成无勾选。2,重装IE6及使用安全模式,为何都用了同一设置?(XP的问题?)3,本人又发现,IE8在“还原默认设置”时,是把此选项勾选了的。但IE6没有!昏倒。又是IE6的bug吗?本来按照标准流程可以处理的问题变成如此漫长研究过程。4,为何MS知识库没有此类文章?为何IE不修改好所有的bug?估计要直接问下:Bill Gate同学。 得失:失:耗费大量时间,问题一直未解决。得:了解了大量知识,发现大量解决问题方法(虽然无用^_^)。本人机器经折腾后快了不少(估计是chkdsk和注册表压缩的功劳)。^_^。 题外话:为何要仍要使用IE6?1,使用习惯问题。在使用上与IE8确实有很大区别。2,为何不用firefox? 因购物网站需要银行支付,目前很多银行证书都是绑定IE。-------------------------------------------------------------------------------------------------------------------------------------------本文到此结束。