WEB开发兼容性---浏览器渲染模式—— document.compatMode
2024-08-31 10:42:57
document.compatMode主要是用来判断浏览器采用何种方式渲染,它有两种可能的返回值:BackCompat和CSS1Compat,官方对其解释如下:
BackCompat:标准兼容模式关闭,向后兼容模式。
CSS1Compat:标准兼容模式开启。
当document.compatMode等于BackCompat时,浏览器客户区宽度是document.body.clientWidth;
当document.compatMode等于CSS1Compat时,浏览器客户区宽度是document.documentElement.clientWidth。
浏览器客户区高度、滚动条高度、滚动条的Left、滚动条的Top等等都是上面的情况。
一个准确获取网页客户区的宽高、滚动条宽高、滚动条Left和Top的代码:
if (document.compatMode == "BackCompat") {
cWidth = document.body.clientWidth;
cHeight = document.body.clientHeight;
sWidth = document.body.scrollWidth;
sHeight = document.body.scrollHeight;
sLeft = document.body.scrollLeft;
sTop = document.body.scrollTop;
}
else {
//document.compatMode == "CSS1Compat"
cWidth = document.documentElement.clientWidth;
cHeight = document.documentElement.clientHeight;
sWidth = document.documentElement.scrollWidth;
sHeight = document.documentElement.scrollHeight;
sLeft = document.documentElement.scrollLeft == 0 ? document.body.scrollLeft : document.documentElement.scrollLeft;
sTop = document.documentElement.scrollTop == 0 ? document.body.scrollTop : document.documentElement.scrollTop;
}
(以上代码兼容目前流行的全部浏览器,包括:IE、Firefox、Safari、Opera、Chrome)
最新文章
- STM32正交编码器驱动电机
- BZOJ4527: K-D-Sequence 线段树
- 那些年我们一起追过的Linux命令
- 10.23lamp环境
- jsoncpp用法通俗易懂之解析
- Log4J配置文件说明
- SQL注入攻击
- HDU2037 今年暑假不AC 贪心算法
- C# Attribute
- linux shell在while中用read从键盘输入
- NET中级课--浅谈委托,事件,异步调用,回调等概念
- Appium自动化测试之Appium的安装与配置
- Linq to SQL -- Group By、Having和Exists、In、Any、All、Contains
- react 环境安装
- debian 系统安装配置apache
- ERROR 1067 (42000): Invalid default value for 'created_time'【转】
- MySql NDB cluster replication配置
- 解决jenkins的内存溢出问题
- Java常考面试题(一)
- CentOS中Intel i350T4驱动安装