document.compatMode介绍


Posted in Javascript onMay 21, 2009

今天在ext中看到 document.compatMode的使用,感觉这个对于我们开发兼容性的web页面还是很有帮助,我们都知道,IE对盒模型的渲染在 Standards Mode和Quirks Mode是有很大差别的,在Standards Mode下对于盒模型的解释和其他的标准浏览器是一样,但在Quirks Mode模式下则有很大差别,而在不声明Doctype的情况下,IE默认又是Quirks Mode。所以为兼容性考虑,我们可能需要获取当前的文档渲染方式。
document.compatMode正好派上用场,它有两种可能的返回值:BackCompat和CSS1Compat,对其解释如下:
BackCompat Standards-compliant mode is not switched on. (Quirks Mode)
CSS1Compat Standards-compliant mode is switched on. (Standards Mode)
在实际的项目中,我们还需要在获取浏览是否IE,这样就可以得到IE的渲染模式了。在Ext中的代码:isBorderBox=isIE&&!isStrict。
当文档有了标准声明时, document.compatMode 的值就等于 "CSS1compat", 因此, 我们可以根据 document.compatMode 的值来判断文档是否加了标准声明
var height = document.compatMode=="CSS1Compat" ? document.documentElement.clientHeight : document.body.clientHeight;

Javascript 相关文章推荐
javascript function、指针及内置对象
Feb 19 Javascript
jquery post方式传递多个参数值后台以数组的方式进行接收
Jan 11 Javascript
JS localStorage实现本地缓存的方法
Jun 22 Javascript
基于Node.js实现nodemailer邮件发送
Jan 26 Javascript
获取select的value、text值的简单示例(jquery与javascript)
Dec 07 Javascript
Bootstrap媒体对象学习使用
Mar 07 Javascript
老生常谈js中的MVC
Jul 25 Javascript
jquery实现点击a链接,跳转之后,该a链接处显示背景色的方法
Jan 18 jQuery
微信小程序实现YDUI的ScrollNav组件
Feb 02 Javascript
详解从vue-loader源码分析CSS Scoped的实现
Sep 23 Javascript
uin-app+mockjs实现本地数据模拟
Aug 26 Javascript
TS 类型收窄教程示例详解
Sep 23 Javascript
各种常用浏览器getBoundingClientRect的解析
May 21 #Javascript
简单的js分页脚本
May 21 #Javascript
input+select(multiple) 实现下拉框输入值
May 21 #Javascript
一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子
May 21 #Javascript
Javascript 兼容firefox的一些问题
May 21 #Javascript
鼠标经过的文本框textbox变色
May 21 #Javascript
jQuery 性能优化指南(3)
May 21 #Javascript
You might like
How do I change MySQL timezone?
2008/03/26 PHP
Javascript技术技巧大全(五)
2007/01/22 Javascript
JavaScript四种调用模式和this示例介绍
2014/01/02 Javascript
document.compatMode的CSS1compat使用介绍
2014/04/03 Javascript
我的Node.js学习之路(四)--单元测试
2014/07/06 Javascript
上传图片js判断图片尺寸和格式兼容IE
2014/09/01 Javascript
text-align:justify实现文本两端对齐 兼容IE
2015/08/19 Javascript
JavaScript如何获取数组最大值和最小值
2015/11/18 Javascript
javascript中select下拉框的用法总结
2016/01/07 Javascript
AngularJS通过$http和服务器通信详解
2016/09/21 Javascript
JavaScript实现的微信二维码图片生成器的示例
2016/10/26 Javascript
最常见的左侧分类菜单栏jQuery实现代码
2016/11/28 Javascript
前端开发之CSS原理详解
2017/03/11 Javascript
Angular.js中ng-include用法及多标签页面的实现方式详解
2017/05/07 Javascript
vue实现仿淘宝结账页面实例代码
2017/11/08 Javascript
JavaScript设计模式之代理模式简单实例教程
2018/07/03 Javascript
JavaScript中的 new 命令
2019/05/22 Javascript
python处理json数据中的中文
2014/03/06 Python
python的绘图工具matplotlib使用实例
2014/07/03 Python
Python和JavaScript间代码转换的4个工具
2016/02/22 Python
python 将json数据提取转化为txt的方法
2018/10/26 Python
Python标准库使用OrderedDict类的实例讲解
2019/02/14 Python
Python 根据日志级别打印不同颜色的日志的方法示例
2019/08/08 Python
使用python模拟命令行终端的示例
2019/08/13 Python
如何快速理解python的垃圾回收机制
2020/09/01 Python
Python中openpyxl实现vlookup函数的实例
2020/10/28 Python
CSS3过渡transition效果实例介绍
2016/05/03 HTML / CSS
网站性能延迟加载图像的五种技巧(小结)
2020/08/13 HTML / CSS
用Python匹配HTML tag的时候,<.*>和<.*?>有什么区别
2012/11/04 面试题
大学生入党思想汇报
2014/01/14 职场文书
心理咨询承诺书
2014/05/20 职场文书
2014年个人委托书范本
2014/10/13 职场文书
个人总结与自我评价
2015/02/14 职场文书
php微信小程序解包过程实例详解
2021/03/31 PHP
关于k8s环境部署mysql主从的问题
2022/03/13 MySQL
本地搭建minio文件服务器(使用bat脚本启动)的方法
2022/07/15 Servers