ie 浏览器“浏览器模式”和“文档模式”之间的区别

只有ie浏览器才会有“浏览器模式”和“文档模式”,兼容性视图涉及两个重要的功能便是“浏览器模式(browser mode)”和文档模式(document mode),在IE8/IE9中按F12键,打开

“开发人员工具”,在菜单栏中可以看到“浏览器模式“和”文档模式“的菜单切换,可以选择切换到不同的网页模式。在js中可以通过navigator.usergent获取浏览器的版本,这个

一般情况是与浏览器模式对应的,可以通过document.documentMode获得浏览器的文档模式,这个一般是与文档模式相对应的。如果浏览器模式和文档模式不一致的时候,

我们一般认为这时以文档模式为准[渲染页面];

浏览器模式和文档模式之间的区别:

浏览器模式 用于切换ie针对该网页的默认文档模式、对不同版本浏览器的条件备注解析、发送给网站服务器的用户代理字符串的值。网站可以根据不同的浏览器返回的

不同用户代理字符串判断浏览器的版本和安装的功能。这样就可以向不同的浏览器返回不同的页面内容。用开发人员工具切换浏览器模式时,文档模式也会对应改变。

默认情况下,ie8的浏览器模式的ie8,用户可以通过单击地址栏旁边的兼容性视图按钮来手动切换到不同的浏览器模式,在ie8中,ie8兼容性视图会以ie7文档模式来显示网页

同时会向服务器发送ie7的用户代理字符串。

文档模式 用于指定ie的页面排版引擎以哪个版本的方式来解析并渲染网页代码。切换文档模式会导致网页会刷新,但是不会更改用户代理字符串中的版本号,也不会从服务器重新下载页面。切换浏览器模式的同时,浏览器也会自动切换到相应的文档模式。<meta http-equiv="x-ua-compatible" content="IE=7"/>这个

就是指定文档模式的ie7,trident会按照ie7模式去渲染页面元素

另外还有不同的,就是IE=7和IE=EmulateIE7,这两个有什么不同呢?IE=7是页面按照IE7去渲染,不考虑DocType,而IE=EmulateIE7是以兼容IE7的模式去渲染,考虑DocType

,当然还有更例外的情况,就是真正的IE7和IE9添加<meta http-equiv="x-ua-compatible" content="IE=7"/>

原文地址:https://www.cnblogs.com/xiaofenguo/p/12673279.html