由于浏览器及其版本对 JavaScript 脚本的支持情况不同,出于脚本代码兼容性考虑,经常需要获取客户端浏览器相关信息,以根据其浏览器具体情况编制不同的脚本代码。
Navigator 对象最初由Netscape 浏览器引入,并在其NN2 中获得支持。Microsoft 在其 IE3 上引入Navigator 对象,但只支持其部分属性和方法。
由于Navigator 对象为程序员提供了十分有效的浏览器相关信息而得到较为广泛的应用,Microsoft 在其IE4 中引入Navigator 对象的克隆版本即clientInformation 对象并在IE4 后续版本中得到更为完善的支持,该对象的所有属性和方法与Navigator 对象完全相同。
不同的是,clientInformation 对象仅适用于IE 浏览器,而Navigator 对象则适用于所有浏览器,当然也包括IE 浏览器。
同 Window 对象一样,Navigator 对象为浏览器对象模型中的顶级对象,而不是作为其他对象的属性而存在。
相比较Window 对象而言,Navigator 对象与浏览器及其版本的关联程度更紧密,对编写代码兼容性较强的应用程序贡献更大,但Navigator 对象的属性多为只读,且提供的操作方法也较少。