ie兼容性问题 前传

相信经常使用 IE 浏览器的用户对于 IE 兼容模式不会感到陌生,当然我们浏览网站出现错乱的问题,开启 IE 兼容模式便可以正常浏览了。 为什么会有 IE 兼容模式的出现呢?这个和IE浏览器的发展历程相关,在 IE8 之前浏览器基本上属于 IE 一家独大。由于网络标准发展缓慢,为了应对网页开发的需求,IE 定义了很多只有 IE 才能解析的标准。 后来火狐和 Chrome 出现,推动了网络标准的前进。但之前按照 IE 标准做的网站就会出现问题,这样使得 IE 处于一种很尴尬的处境。 为了解决这个问题,微软在 IE8 以后加入了所谓的兼容性模式,也就是能够在旧的网站使用兼容性模式浏览,而一切正常,而到比较新的网站就用正常模式浏览。 并且也是从 IE8 开始支持 X-UA-Compatible 元标记(允许网页作者指定 IE 用哪个内核来渲染页面),并在其内置的开发工具中提供名为“文档模式”的内核切换调试方式。从 IE8 开始,上述两种方式(元标记、开发工具)就都没提供 IE6 模式。

接下来,我们进一步分析一下为什么唯独没有IE6模式: IE5 本质上就是“怪癖模式 (Quirks Mode)”(深入:http://www.open-open.com/lib/view/open1407374391848.html)。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 版本的开发工具中就不得不包含每个过往版本的内核了。

时间: 2024-07-31 02:29:26

ie兼容性问题 前传的相关文章

Vue.js 入门指南之“前传”(含sublime text 3 配置)

题记:关注Vue.js 很久了,但就是没有动手写过一行代码,今天准备入手,却发现自己比菜鸟还菜,于是四方寻找大牛指点,才终于找到了入门的“入门”,就算是“入门指南”的“前传”吧.此文献给跟我一样“白痴级别”的前端开发人员,大牛请绕过. 1,下载安装Node.js 去 Node.js 官网下载一个Windows环节的安装包 node-v6.2.0-x64.rar 文件,一路安装下去即可.官网访问很慢,可以试试中文网 http://nodejs.cn/ 2,配置Vue环境 一开始看<基于Webpac

前传——一个文科生转行做编程的参考样本

动笔                                                                                                                                                                                      听闻前辈讲述写博客的诸多好处,早有开始写「技术博客」的想法,但囿于自身浅薄的「技术」,以及轻微的强迫症——总想准备充分后下笔——比如

大数据Spark蘑菇云前传第15课:Scala类型参数编程实战及Spark源码鉴赏(学习笔记)

前传第15课:Scala类型参数编程实战及Spark源码鉴赏 本課課程: Spark源码中的Scala类型系統的使用 Scala类型系統编程操作实战 Spark源码中的Scala类型系統的使用 classOf[RDD[_]] 這個也是类型系統 這里的意思是說 B 這種類型必需至少是 A 這樣類型 Ordering Scala类型系統编程操作实战 作為類型系統最大的就可以對類型進行限制,在Scala 中的類型系統,他本身也作為對象.e.g. 我們可以建立 Person 這個類,現在可以建立一個什麼

SpringMVC深度探险(一) —— SpringMVC前传

本文是专栏文章(SpringMVC深度探险)系列的文章之一,博客地址为:http://downpour.iteye.com/blog/1330537 在我们熟知的建立在三层结构(表示层.业务逻辑层.持久层)基础之上的J2EE应用程序开发之中,表示层的解决方案最多.因为在表示层自身的知识触角很多,需要解决的问题也不少,这也就难免造成与之对应的解决方案层出不穷. 笔者在很多讨论中经常可以看到类似“某某框架已死”,或者“某某框架已经足以打败所有其他的框架”的言论.事实上,每一种解决方案都有着自身独有的

uboot学习前传

uboot的学习前传 为什么要有uboot uboot主要作用是启动操作系统内核的. uboot还要负责部署整个计算机系统. uboot中还要有操作flash等板子上的硬件驱动 uboot还得提供一个命令行让我们可以在命令行下可以进行操作 uboot就是干以上或者更多事情的一个裸机程序而已. 计算机系统组成的三个重要部件: CPU + 外部存储器(flash/硬盘) + 内部存储器(内存, DDR/SDRAM/SRAM) PC机的启动过程: 在静态时,BIOS程序放在norflash中,在PC机

止增笑耳的星际迷航前传

假期闲来无事,看了几部影碟,其中尤以星际迷航11前传(2009年上映)不得不让人吐槽.这么一部漏洞百出的糟粕,在豆瓣评分居然还高达7.9分,实在是让人有些诧异豆瓣文青的水平. bug实在太多,现将之细数如下,欢迎补充: 1.企业号的形状根本就不是一个战舰,在这一集里居然还能攻击其他星舰,而其他剧集里都是比较强调它的速度,曲速前进什么的,这才是对的: 2.Kirk船长等人,哦,不,应该叫神啊,到任何星球执行任务居然都能像在地球一样随便呼吸,完全抛开头套: 3.这个系列的所有剧集都完全没有重力差异的

无应答前传消息流程

无应答前传 激活无应答呼叫前转业务后,当电话响铃无人接听,电话会自动转移到事前设定的号码上. INVITEsip:[email protected]:5060;transport=udp SIP/2.0 Via: SIP/2.0/UDP192.168.11.137:5060;rport;branch=z9hG4bK1075141334 From: "1003"<sip:[email protected]:5060;user=phone>;tag=387369502 To:&

Vue.js 入门指南之“前传”

题记:关注Vue.js 很久了,但就是没有动手写过一行代码,今天准备入手,却发现自己比菜鸟还菜,于是四方寻找大牛指点,才终于找到了入门的“入门”,就算是“入门指南”的“前传”吧.此文献给跟我一样“白痴级别”的前端开发人员,大牛请绕过. 1,下载安装Node.js 去 Node.js 官网下载一个Windows环节的安装包 node-v6.2.0-x64.rar 文件,一路安装下去即可.官网访问很慢,可以试试中文网 http://nodejs.cn/ 2,配置Vue环境 一开始看<基于Webpac

grep前传之侠影之谜 (Grep begins)

一.自述 我叫grep,是同你们一样,生活在都市里.每天做着重复的事,忙碌着. 说起来这个好笑,我生活的国家叫Bourne-Again Shell,因为我国来往人多,大家读者不便,于是心口不一的叫它"bash".bash,呵呵,好像被狠狠的砸了一下. 眼前这座烂尾楼便是我藏身的地方,它叫/bin,这里的居民都是上班族,那天下班后我数了一下用户,发现114个住户!天哪,好一座危楼! 在这个国家每家每户都供奉着一尊雕像,它叫root,对了,我和我的家人(group)都属于它,无理由的信奉着