版权声明:本文为博主原创文章,未经博主同意不得转载。 https://blog.csdn.net/hatmore/article/details/37611911

ie8 引入了一个新的概念。“文档模式” ,页面的文档模式决定了。能够使用什么功能。

也就是说,”文档模式“,决定你了你能够使用哪个级别的css,在javascript能够使用哪些API,

以及怎样对待文档类型(doctype)。

两种方式改动: 

  1. 通过 meta 标签改动,<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
  2. 在server端改动, res.setHeader("X-UA-Complatible","EmulateIE7") //node.js

var mode = document.documentMode;

知道页面採用的是什么文档模式,有助于理解页面的行为方式。不管在什么文档模式下,都能够訪问这个属性。

在IE 11 中 mode 的值可能是  5,7,8,9,10,11

Edge:始终以最新的文档模式来渲染页面。

忽略文档类型声明。

对于IE10。始终保持以IE10标准模式渲染页面。对于IE11,则以IE11 标准模式渲染页面。

 EmulateIE9:假设有文档类型声明,则以IE9 标准模式渲染页面,否则将文档模式设置为IE5。
 EmulateIE8:假设有文档类型声明。则以IE8 标准模式渲染页面,否则将文档模式设置为IE5。
 EmulateIE7:假设有文档类型声明。则以IE7 标准模式渲染页面,否则将文档模式设置为IE5。
 9:强制以IE9 标准模式渲染页面。忽略文档类型声明。
 8:强制以IE8 标准模式渲染页面,忽略文档类型声明。
 7:强制以IE7 标准模式渲染页面。忽略文档类型声明。
 5:强制将文档模式设置为IE5。忽略文档类型声明。

使用X-UA-Compatible标头(或者在server)来指定你的页面支持的IE版本号。

使用document.documentMode判定页面的兼容性模式。

全栈JavaScript之路( 二十二 )IE 专有扩展——文档模式的更多相关文章

  1. 全栈JavaScript之路(十九)HTML5 插入 html标记 ( 一 )innerHTML 与outerHTML

    在须要给文档插入大量的html 标记下.通过DOM操作非常麻烦,你不仅要创建一系列的节点,并且还要小心地依照顺序把它们接结起来. 利用html 标签 插入技术,能够直接插入html代码字符串,简单.高 ...

  2. 全栈JavaScript之路(十八)HTML5 自己定义数据属性

    HTML5 规范规定,用户能够为元素 自己定义非标准属性, 可是要加入 data- 前缀. 目的是为元素提供与页面渲染无关的信息.或者语义信息.这些属性名能够任意加入,仅仅要带上前缀 data- 开头 ...

  3. 全栈JavaScript之路(十四)HTML5 中与class属性相关的扩充

    1. getElementByClassName() :支持getElementsByClassName()方法的浏览器有IE 9+.Firefox 3+.Safari 3.1+.Chrome 和 O ...

  4. 全栈JavaScript之路(十六)HTML5 HTMLDocument 类型的变化

    HTML5 扩展了 HTMLDocument, 添加了新的功能. 1.document.readState = 'loading' || 'complete'  //支持readyState 属性的浏 ...

  5. 全栈JavaScript之路(十)学习 DocumentFragment 类型 节点

    DocumentFragment 类型节点,代表一个文档片段,是一种轻量级的'文档' 对象.能够包括其他类型节点,并有能力訪问.操作当中的节点,可是在文档中没有文档标记,相当于是一个页面不可见的容器. ...

  6. “全栈2019”Java多线程第二十二章:饥饿线程(Starvation)详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  7. “全栈2019”Java多线程第十二章:后台线程setDaemon()方法详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  8. “全栈2019”Java异常第二十二章:try-with-resources语句详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...

  9. “全栈2019”Java异常第十二章:catch与异常匹配

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...

随机推荐

  1. WIN7 环境下搭建 PHP7(64 位)操作步骤

    WIN7 环境下搭建 PHP7(64 位)操作步骤 一.安装与配置 Apache 1.下载 Apache下载地址:https://www.apachelounge.com/download/ 2.安装 ...

  2. [HEOI2017] 寿司餐厅 + 最大权闭合子图的总结

    Description 太长了自己看叭 点这里! Solution 先学一波什么叫最大权闭合子图. 先要明白什么是闭合子图,闭合子图就是给定一个有向图,从中选择一些点组成一个点集V.对于V中任意一个点 ...

  3. 初识SqlLite ---.net连接数据库

    Sqlite 是一款轻量级的关系型数据库,以小巧和嵌入式闻名.以前只是听说,现在终于忍不住要尝试下.本文的初衷是为.net平台的使用者提供帮助. Sqlite有专门为VS2010开发的程序包,大家可以 ...

  4. C# 字符串拼接性能探索

    本文通过ANTS Memory Profiler工具探索c#中+.string.Concat.string.Format.StringBuilder.Append四种方式进行字符串拼接时的性能. 本文 ...

  5. c#方法转异步例子

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  6. C++中析构函数的作用

    如果构造函数打开了一个文件,最后不需要使用时文件就要被关闭.析构函数允许类自动完成类似清理工作,不必调用其他成员函数. 析构函数也是特殊的类成员函数.简单来说,析构函数与构造函数的作用正好相反,它用来 ...

  7. 实现Java Socket 客户端服务端交互实例

    SocketService.java package socket; import java.io.BufferedReader; import java.io.IOException; import ...

  8. Python args kwargs 技巧

    def f(*args): print(args) a=[1, 2, 3] f(a) f(*a) 运行结果: ([1, 2, 3],) (1, 2, 3) def f(**kwargs): print ...

  9. Python 练习: 打印0到99小于50或大于70的数字

    for i in range(100): if i < 50 or i > 70: print(i) 注意: range(100) 表示 0 到 99 个数字

  10. JS实现抽奖(方形)

    展示: HTML: <div id="table"></div> <div id="btn"> <button onc ...