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实现仿Windows关机效果
Mar 10 Javascript
jQuery 开发者应该注意的9个错误
May 03 Javascript
细说javascript函数从函数的构成开始
Aug 29 Javascript
js之事件冒泡和事件捕获详细介绍
Oct 28 Javascript
js禁止页面使用右键(简单示例代码)
Nov 13 Javascript
Ajax同步与异步传输的示例代码
Nov 21 Javascript
jQuery点击自身以外地方关闭弹出层的简单实例
Dec 24 Javascript
原生js获取宽高与jquery获取宽高的方法关系对比
Apr 04 Javascript
浅析JQuery中的html(),text(),val()区别
Sep 01 Javascript
JavaScript交换两个变量值的七种解决方案
Dec 01 Javascript
深入理解requireJS-实现一个简单的模块加载器
Jan 15 Javascript
如何使用puppet替换文件中的string
Dec 06 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
dedecms 批量提取第一张图片最为缩略图的代码(文章+软件)
2009/10/29 PHP
PHP数组及条件,循环语句学习
2012/11/11 PHP
基于php验证码函数的使用示例
2013/05/03 PHP
php实现获取文件mime类型的方法
2015/02/11 PHP
Mac环境下php操作mysql数据库的方法分享
2015/05/11 PHP
关于PHP中字符串与多进制转换函数的实例代码
2016/11/03 PHP
PHP多进程简单实例小结
2019/11/09 PHP
JavaScript创建命名空间(namespace)的最简实现
2007/12/11 Javascript
实现前后端数据交互方法汇总
2015/04/07 Javascript
js选项卡的制作方法
2017/01/23 Javascript
详解Angular.js指令中scope类型的几种特殊情况
2017/02/21 Javascript
seajs实现强制刷新本地缓存的方法分析
2017/10/16 Javascript
html中通过JS获取JSON数据并加载的方法
2017/11/30 Javascript
解决angularjs前后端分离调用接口传递中文时中文乱码的问题
2018/08/13 Javascript
使用vue3重构拼图游戏的实现示例
2021/01/25 Vue.js
重命名批处理python脚本
2013/04/05 Python
浅谈python新手中常见的疑惑及解答
2016/06/14 Python
PHP实现发送和接收JSON请求
2018/06/07 Python
基于python实现聊天室程序
2018/07/27 Python
Django命名URL和反向解析URL实现解析
2019/08/09 Python
基于logstash实现日志文件同步elasticsearch
2020/08/06 Python
如何实现一个python函数装饰器(Decorator)
2020/10/12 Python
全球知名旅游社区法国站点:TripAdvisor法国
2016/08/03 全球购物
Book Depository亚太地区:一家领先的国际图书零售商
2019/05/05 全球购物
香港连卡佛百货官网:Lane Crawford
2019/09/04 全球购物
拉丁舞学习者的自我评价
2013/10/27 职场文书
敬老院活动总结
2014/04/28 职场文书
关于爱国的演讲稿
2014/05/07 职场文书
校长师德师风自我剖析材料
2014/09/29 职场文书
2014年班长个人工作总结
2014/11/14 职场文书
秦始皇兵马俑导游词
2015/02/02 职场文书
员工福利申请报告
2015/05/15 职场文书
信用卡工作证明范本
2015/06/19 职场文书
行为习惯主题班会
2015/08/14 职场文书
如何用PHP实现多线程编程
2021/05/26 PHP
mysql备份策略的实现(全量备份+增量备份)
2021/07/07 MySQL