八亿电脑网
游戏盒子
当前位置: 首页 > IE浏览器 >

内部网站在IE中自动启动兼容性视图?

时间:2014-04-07 08:01来源:Win8e 作者:Win8e 点击:
游戏盒子

近日测试内网下公司的一个网站时,在IE浏览器中打开出现了报错。看了一下发现该网站在IE中开启了兼容性视图。网站默认打开时以兼容性视图显示一般只有两种情况。

要么是本地IE浏览器将网站添加了兼容性列表,检查后在列表中没有发现该网址。要么就是网站设置了 X-UA-Compatible 属性,查看网站源代码也没有发现这么一项,那是什么原因导致这个问题的出现呢?

最后发现原来还是本地IE的兼容性视图设定的原因。众所周知在IE浏览器上有一个“兼容性视图设定”,这个设定可以将需要使用兼容性设定的网站先加入清单中,当之后浏览的时候就会自动启用兼容性视图来观看网站。

刚才已经说明了没有添加相关的网址,这么还会这样呢?在“兼容性视图设定”中,有一项设定为“在兼容性视图中显示 Intranet 网站”,默认该项是启用的。也就是因为这个选项勾选了,导致如果在内部网络上浏览内部的测试主机网站,就会自动启用了兼容性视图,所以只要将此勾选取消后浏览网站就不会自动启用兼容性视图了。

在兼容性视图中显示 Intranet 网站win8e

以上为解决方法,如果有碰到类似情况的朋友可以尝试看看。

为什么IE兼容模式没有IE6模式?

相信经常使用 IE 浏览器的用户对于 IE 兼容模式不会感到陌生,当然我们浏览网站出现错乱的问题,开启 IE 兼容模式便可以正常浏览了。

为什么会有 IE 兼容模式的出现呢?这个和IE浏览器的发展历程相关,在 IE8 之前浏览器基本上属于 IE 一家独大。由于网络标准发展缓慢,为了应对网页开发的需求,IE 定义了很多只有 IE 才能解析的标准。

后来火狐和 Chrome 出现,推动了网络标准的前进。但之前按照 IE 标准做的网站就会出现问题,这样使得 IE 处于一种很尴尬的处境。

为了解决这个问题,微软在 IE8 以后加入了所谓的兼容性模式,也就是能够在旧的网站使用兼容性模式浏览,而一切正常,而到比较新的网站就用正常模式浏览。

并且也是从 IE8 开始支持 X-UA-Compatible 元标记(允许网页作者指定 IE 用哪个内核来渲染页面),并在其内置的开发工具中提供名为“文档模式”的内核切换调试方式。从 IE8 开始,上述两种方式(元标记、开发工具)就都没提供 IE6 模式。

接下来,我们进一步分析一下为什么唯独没有IE6模式:

IE5 本质上就是“怪癖模式 (Quirks Mode)”。IE 浏览器基于“向后兼容”的目的,必须要包含此内核,以便“正确”渲染早期网页。(随便说一句,事实上非 IE 浏览器也都是自带 Quirks Mode 渲染模式的。这里不展开,有兴趣可以自行查询“DTD”、“Quirks Mode”、“浏览器渲染模式”等关键词。)因此,对 IE 浏览器的开发工具来说,提供 IE5 模式没有任何成本;而且在渲染早期网页时,必然就会进入此内核,开发工具不得不包含它。

IE7 本质上是 IE6.1(至少我是这样认为的)。相比 IE6 而言,IE7 没有提供巨大的实质上的内核功能升级,更多地是在打补丁、修 bug。可以这样说,IE6 和 IE7 这两个版本的内核是严重同质化的;另一方面 IE6 的用户量本身也在自然萎缩。因此当 IE8 推出时,它的元标记和开发工具就放弃了 IE6 模式。

微软从 IE8 开始追赶其它符合 W3C 标准的浏览器,IE8 之后每个版本的内核之间都存在巨大差异;而且从 IE8 开始,IE 几乎以每年一个版本的速度在发布,目前已经发布至 IE11,由于 IE 本身没有自动升级的功能,这使得多版本共存的状况会长期存在。这样看来,在最新 IE 版本的开发工具中就不得不包含每个过往版本的内核了。

本篇文章标签: 浏览器 IE11 IE6
发表评论