HTML5扩展了 HTMLDocument ,增加了新的功能。

HTML5扩展了 HTMLDocument ,增加了新的功能。与HTML5中新增的其他DOM扩展类似,这些变化同样基于那些已经得到很多浏览器完美支持的专有扩展。所以,尽管这些扩展被写入标准的时间相对不长,但很多浏览器很早就已经支持这些功能了。

  1. readyState 属性

IE4最早为 document 对象引入了 readyState 属性。然后,其他浏览器也都陆续添加这个属性,最终HTML5把这个属性纳入了标准当中。Document 的 readyState 属性有两个可能的值:

  • loading ,正在加载文档;
  • complete ,已经加载完文档。

使用 document.readyState 的最恰当方式,就是通过它来实现一个指示文档已经加载完成的指示器。在这个属性得到广泛支持之前,要实现这样一个指示器,必须借助onload 事件处理程序设置一个标签,表明文档已经加载完毕。 document.readyState属性的基本用法如下。

JS

if (document.readyState == “complete”){
    //执行操作
}

支持 readyState 属性的浏览器有IE4+、Firefox 3.6+、Safari、Chrome和Opera 9+。

  1. 兼容模式

自从IE6开始区分渲染页面的模式是标准的还是混杂的,检测页面的兼容模式就成为浏览器的必要功能。IE为此给 document 添加了一个名为 compatMode 的属性,这个属性就是为了告诉开发人员浏览器采用了哪种渲染模式。就像下面例子中所展示的那样,在标准模式下, document.compatMode 的值等于 “CSS1Compat” ,而在混杂模式下, document.compatMode 的值等于 “BackCompat” 。

JS

if (document.compatMode ==  “CSS1Compat”){
    alert(“Standards mode”);
} else {
    alert(“Quirks mode”);
}

后来,陆续实现这个属性的浏览器有Firefox、Safari 3.1+、Opera和Chrome。最终,HTML5也把这个属性纳入标准,对其实现做出了明确规定。

  1. head 属性

作为对 document.body 引用文档的 <body> 元素的补充,HTML5新增了 document.head属性,引用文档的 <head> 元素。要引用文档的 <head> 元素,可以结合使用这个属性和另一种后备方法。

JS

var head = document.head || document.getElementsByTagName(“head”)[0];

如果可用,就使用 document.head ,否则仍然使用 getElementsByTagName() 方法。

实现 document.head 属性的浏览器包括Chrome和Safari 5。

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

相关阅读更多精彩内容

  • 简介网络浏览器很可能是使用最广的软件。在这篇入门文章中,我将会介绍它们的幕后工作原理。我们会了解到,从您在地址栏输...
    wengjq阅读 6,518评论 2 15
  • 本文整理自《高级javascript程序设计》 DOM(文档对象模型)是针对HTML和XML文档的一个API(应用...
    SuperSnail阅读 3,741评论 0 1
  • 简介浏览器可以被认为是使用最广泛的软件,本文将介绍浏览器的工 作原理,我们将看到,从你在地址栏输入google.c...
    听风阁阅读 8,539评论 0 7
  • 一、概述 document节点是整个文档树的顶层节点,每张网页都有自己的document节点。window.doc...
    周花花啊阅读 5,158评论 0 1
  • 4.22说实话,除了之前年末的996,这应该是我第一次周末加班,我连加班的缘由都没有搞明白,于是在领导面前犯了一个...
    一路李花开阅读 1,630评论 0 0

友情链接更多精彩内容