`
jerry_chiang
  • 浏览: 28250 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

JavaScript检测浏览器

阅读更多
发现自己做的一个网页的显示效果在IE中蛮好的,在FireFox中却惨不忍睹。

刚好手头有一本JavaScript的书,就总结了一下。

在客户端浏览器检测中最重要的对象是navigator对象。(尽管微软反对使用术语navigator,因为这指代了Netscape的浏览器,但 navigator对象还是成为提供Web浏览器信息事实上的标准。除了navigator对象外,微软还有一个叫做clientInformation 的对象,不过其实它们提供的信息是类似的。)

JavaScript检测浏览器的方式目前一般使用以下两种方式:对象/特征检测和use-agent字符串 检测。每种方式都有其优缺点,一定要合理的使用。

一、对象/特征检测法

该方法是一种判断浏览器能力(而非浏览器的确切型号)的通用方法。大部分JS专家认为这个方法最合适,因为他们认为按照该方法所编写的脚本是经得起未来考验的。

该方法认为,在使用一个给定的对象之前要先检查它的存在。例如,要使用方法document.getElementById(),但是不确定浏览器是否支持它。可以使用下面这段代码:

    if(document.getElementById) {
       //该方法存在,使用它
    } else {
       //该方法不存在,其他操作
    }

如果更关注浏览器的能力而不在乎它实际的身份,就可以使用这种方法。

二、user-agent字符串检测法

user-agent字符串检测法是最古老的检测方式。每个访问网站的程序都要提供一个user-agent字符串来向服务器确定它的身份。以前只能在服 务器上通过CGI变量HTTP_USER_AGENT来访问。不过,JS在navigator对象中引入了userAgent属性来提供客户端对user -agent字符串的访问。

    var sUserAgent = navigator.userAgent;

user-agent字符串提供了关于Web浏览器的大量信息,包括浏览器的名称和版本。

限于篇幅,我不能将详细的检测代码写到这里,也没有这个必要。大家可以找到对应于每种不同浏览器的user-agent字符串的值,按照自己的需要来检测浏览器。

一下子打这么多字,手好痛啊。。
分享到:
评论
1 楼 netfishx 2007-01-20  
单纯的浏览器检测基本上没有意义,除非你要做用户群的统计。即使这样也建议结合对象检测。user-agent最大的问题是可以伪装的。

相关推荐

    javascript 检测浏览器类型和版本的代码.docx

    ### JavaScript检测浏览器类型和版本的方法 #### 一、概述 在Web开发中,有时需要根据用户的浏览器类型或版本来提供不同的功能或体验。这可以通过多种方式实现,其中两种常用的方法为**对象/特征检测法**与**User-...

    基于JavaScript检测浏览器版本及操作系统版本

    1、资源内容:基于JavaScript检测浏览器版本及操作系统版本 2、适用人群:计算机,电子信息工程、数学等专业的学习者,作为“参考资料”参考学习使用。 3、解压说明:本资源需要电脑端使用WinRAR、7zip等解压工具...

    js检测浏览器版本 javascript检测浏览器

    可以检测 目前主流的浏览器及版本,包括 *Microsoft Internet Explorer IE浏览器 * --> TheWorld 世界之窗 * --> TT浏览器 * --> 360浏览器 * Mathon 傲游浏览器 * Opera Opera浏览器 * Fire...

    javascript检测浏览器的缩放状态实现代码

    JavaScript检测浏览器缩放状态的实现涉及到前端开发中对用户界面交互的深入理解。在当今的Web开发中,随着不同设备和屏幕分辨率的多样化,了解网页内容在浏览器中的实际显示比例变得尤为重要。用户通常可以通过按键...

    JavaScript检测浏览器cookie是否已经启动的方法

    总的来说,JavaScript检测浏览器cookie是否启用是一个实用的功能,对于实现基于cookie的用户跟踪、个性化体验等场景至关重要。通过了解和掌握这一技术,开发者可以更好地优化他们的Web应用程序,提供更顺畅的用户...

    JavaScript检测浏览器是否支持CSS变量代码实例

    JavaScript检测浏览器是否支持CSS变量的知识点主要包括以下几个方面: 1. CSS变量的基本概念:CSS变量,又称CSS自定义属性,是一种在CSS中存储信息的方式,可以方便地在文档中重复使用。通过CSS变量,我们可以存储...

    基于js判断浏览器是否支持webGL.docx

    基于JavaScript判断浏览器是否支持WebGL是Web开发中一个非常重要的知识点。WebGL(Web Graphics Library)是一种基于浏览器的图形库,允许开发者使用JavaScript编写三维图形应用程序。然而,WebGL的支持性非常有限,...

    javascript获取浏览器类型和版本的方法(js获取浏览器版本).docx

    3. JavaScript 检测浏览器类型和版本的代码 4. js/jquery 推断浏览器类型的方法 获取浏览器类型和版本是一个非常重要的功能,它可以帮助开发者更好地适应不同的浏览器环境,从而提高 web 应用程序的兼容性和可用性...

    JavaScript 检测浏览器和操作系统的脚本

    总的来说,通过JavaScript检测浏览器和操作系统,开发者可以针对不同的环境提供兼容性优化,确保网站或应用程序在各种设备上都能正常运行。然而,这种方法并不总是最佳实践,因为现代浏览器通常支持`Feature ...

    js检测浏览器类型

    在JavaScript中,检测浏览器类型是常见的需求,这有助于开发者针对不同浏览器实现特定的功能或优化。以下将详细讲解如何使用JavaScript来识别用户所使用的浏览器类型。 首先,JavaScript提供了`navigator`对象,它...

    navigator-检测浏览器版本-javascript

    ### 使用navigator对象检测浏览器版本及特性 在网页开发过程中,有时候我们需要根据用户的浏览器类型或版本来调整页面的行为或样式。JavaScript 提供了 `navigator` 对象来帮助开发者获取客户端浏览器的相关信息,...

    JavaScript高级程序设计阅读笔记(十六) javascript检测浏览器和操作系统-detect.js

    JavaScript提供了多种方法来检测浏览器和操作系统。对象特征检测法和user-agent字符串检测法是最常用的方法。通过JavaScript高级程序设计的阅读笔记(尤其是关于detect.js的部分),我们可以更加深入地了解浏览器的...

    javascript 检测浏览器类型和版本的代码

    如果对javascript了解不是特别深入的话,很容易就会写出不兼容的代码(就像我),这时候就得判断浏览器了。比如事件侦听、一些鼠标和键盘事件、Range等,一些都会不一样.下面列出几种常用的检测浏览器方法,以飨观众!

    javascript经典特效---检测浏览器支持javascript.rar

    检测浏览器支持javascript.rar检测浏览器支持javascript.rar检测浏览器支持javascript.rar检测浏览器支持javascript.rar检测浏览器支持javascript.rar检测浏览器支持javascript.rar

    Javascript判断浏览器

    ### JavaScript检测浏览器的基本原理 在JavaScript中,可以通过`navigator.userAgent`属性来获取用户代理字符串,这个字符串包含了浏览器的名称、版本以及其他系统信息。通过解析这个字符串,我们可以识别出用户的...

    判断浏览器版本的js代码

    ### 知识点一:JavaScript检测浏览器类型及版本 在Web开发中,有时我们需要根据用户使用的浏览器类型或版本来执行不同的脚本或显示特定的信息。这是因为不同浏览器对Web标准的支持程度可能有所不同,甚至同一浏览器...

Global site tag (gtag.js) - Google Analytics