DTD是嘛?我們這里以HTML為主夜牡,其實(shí)就html第一句与纽。
DTD(Document type definition)文檔類型定義塘装。
說白了就是: 定義文檔的類型急迂。
在網(wǎng)頁沒有w3c標(biāo)準(zhǔn)的時(shí)候,各家瀏覽器對(duì)網(wǎng)頁的渲染方式都不同(我們稱那時(shí)的渲染方式為怪異模式)蹦肴。w3c(CSS1Compat)標(biāo)準(zhǔn)出臺(tái)的時(shí)候僚碎,大家都采用新標(biāo)準(zhǔn)。但為了兼容以前的網(wǎng)頁阴幌,怪異模式要和新標(biāo)準(zhǔn)共存勺阐。那怎樣確定一個(gè)網(wǎng)頁是用新模式渲染還是用怪異模式渲染卷中。就看看DTD是w3c出臺(tái)之前還是之后啦。
判斷文檔有沒有聲明DTD
document.compatMode === "BackCompat"
BackCompat 未聲明
CSS1Compat 已經(jīng)聲明
IE678默認(rèn)識(shí)別CSS1Compat 渊抽,無論有沒有dtd
注意大小寫
這里說3個(gè)scrollTop屬性有關(guān)DTD的兼容性
1蟆豫、document.body.scrollTop;
2、document.documentElement.scrollTop;
3懒闷、window.pageYOffset;
第一個(gè)在文檔有DTD的時(shí)候十减,谷歌火狐都不支持,
刪除DTD的時(shí)候毛雇,谷歌火狐卻又支持啦嫉称,
只有IE系列從頭到尾都支持。
第二個(gè)在文檔有DTD的時(shí)候灵疮,谷歌火狐都支持织阅,IE不支持啦。
刪除DTD的時(shí)候震捣,都不支持荔棉。
第三個(gè)不管DTD有沒有,谷歌火狐都支持和IE8以上都支持啦蒿赢。
兼容寫法:document.title = window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop;
注意:測試用的ie瀏覽器均為edge里面的仿真功能润樱。
本來想做個(gè)表格的,但是太困啦羡棵。收拾收拾睡覺壹若。
晚安。