JS-DTD知识点

DTD是嘛?我们这里以HTML为主,其实就html第一句。


是不是很熟悉,这是html5的文档声明

DTD(Document type definition)文档类型定义。
说白了就是: 定义文档的类型。

在网页没有w3c标准的时候,各家浏览器对网页的渲染方式都不同(我们称那时的渲染方式为怪异模式)。w3c(CSS1Compat)标准出台的时候,大家都采用新标准。但为了兼容以前的网页,怪异模式要和新标准共存。那怎样确定一个网页是用新模式渲染还是用怪异模式渲染。就看看DTD是w3c出台之前还是之后啦。

判断文档有没有声明DTD
document.compatMode === "BackCompat"
BackCompat 未声明
CSS1Compat 已经声明
IE678默认识别CSS1Compat ,无论有没有dtd
注意大小写

这里说3个scrollTop属性有关DTD的兼容性
1、document.body.scrollTop;
2、document.documentElement.scrollTop;
3、window.pageYOffset;

第一个在文档有DTD的时候,谷歌火狐都不支持,
删除DTD的时候,谷歌火狐却又支持啦,
只有IE系列从头到尾都支持。

第二个在文档有DTD的时候,谷歌火狐都支持,IE不支持啦。
删除DTD的时候,都不支持。

第三个不管DTD有没有,谷歌火狐都支持和IE8以上都支持啦。

兼容写法:document.title = window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop;

注意:测试用的ie浏览器均为edge里面的仿真功能。


edge

本来想做个表格的,但是太困啦。收拾收拾睡觉。
晚安。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容