客户端检测:
(一)能力检测
能力检测目的是识别浏览器的能力。
在编写代码之前先检测特定浏览器的能力。例如,脚本在调用某个函数之前,可能要先检测该函数是否存在。
(二)怪癖检测
怪癖实际上是浏览器实现中存在的bug。怪癖检测通常涉及到运行一小段代码,然后确定浏览器是否存在某个怪癖。
(三)用户代理检测
通过检测用户代理字符串来识别浏览器。
DOM
(一)节点层次
在HTML页面中,文档元素使用都是<html>元素。在XML中,没有预定义的元素,因此任何元素都可能成为文档元素。
每一段标记都可以通过树中的一个节点来表示:HTML元素通过元素节点表示,特性通过特性节点表示,文档类型通过文档类型节点表示,而注释则通过注释节点表示。
总共有12种节点类型,这些类型都继承自一个基类型。
1.Node类型
Javascript中的所有节点类型都继承自Node类型,因此所有节点类型都共享着相同的基本属性和方法。
每个节点都有一个nodeType属性,用于表明节点的类型。
12个数值常亮来表示节点类型:
1 == Node.ELEMENT_NODE
2 == Node.ATTRIBUTE_NODE
3 == Node.TEXT_NODE
4 == Node.CDATA_SECTION_NODE
5 == Node.ENTITY_REFERENCE_NODE
6 == Node.ENTITY_NODE
7 == Node.PROCESSING_INSTRUCTION_NODE
8 == Node.COMMENT_NODE
9 == Node.DOCUMENT_NODE
10 == Node.DOCUMENT_TYPE_NODE
11 == Node.DOCUMENT_FRAGMENT_NODE
12 == NOTATION_NODE