`

JS判断浏览器能力

 
阅读更多

对象/特征检测法

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

//获取IE浏览器的版本号
//返回数值,显示IE的主版本号
function getIEVer() {
  var ua = navigator.userAgent; //获取用户端信息
  var b = ua.indexOf("MSIE "); //检测特殊字符串"MSIE "的位置
  if (b < 0) {
    return 0;
  }
  return parseFloat(ua.substring(b + 5, ua.indexOf(";", b))); //截取版本号字符串,并转换为数值
}

alert(getIEVer()); //返回数值8(我的IE8)

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

user-agent字符串检测法

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

var ua = navigator.userAgent.toLowerCase();  //获取用户端信息
var info = {
  ie: /msie/.test(ua) && !/opera/.test(ua),    //匹配IE浏览器
  op: /opera/.test(ua),   //匹配Opera浏览器
  sa: /version.*safari/.test(ua),   //匹配Safari浏览器
  ch: /chrome/.test(ua),   //匹配Chrome浏览器
  ff: /gecko/.test(ua) && !/webkit/.test(ua)   //匹配Firefox浏览器
};
(info.ie) && alert("IE浏览器");
(info.op) && alert("Opera浏览器");
(info.sa) && alert("Safari浏览器");
(info.ff) && alert("Firefox浏览器");
(info.ch) && alert("Chrome浏览器");

通常我们做得最多的,就是判断是否是IE了,其它几种浏览器一般都会符合标准.有些客户只需要符合IE和FF就已经满足了.那么我们可以这样做:

var isIE = (navigator.appName == "Microsoft Internet Explorer");

判断IE远远不止上面一种方法,可以使用IE更多特有的东西,如:window.ActiveXObject,document.all等,这些都属于对象/特征检测法了!通常要在不同的浏览器上写不同的样式(因为IE样式解析也各有不同),那就得判断版本了.可以这样做

//获取IE浏览器的版本号
//返回数值,显示IE的主版本号
function getIEVer() {
  var ua = navigator.userAgent; //获取用户端信息
  var b = ua.indexOf("MSIE "); //检测特殊字符串"MSIE "的位置
  if (b < 0) {
    return 0;
  }
  return parseFloat(ua.substring(b + 5, ua.indexOf(";", b))); //截取版本号字符串,并转换为数值
}

alert(getIEVer()); //返回数值7

检测操作系统:

var isWin = (navigator.userAgent.indexOf("Win") != -1); //如果是Windows系统,则返回true
var isMac = (navigator.userAgent.indexOf("Mac") != -1);   //如果是Macintosh系统,则返回true
var isUnix = (navigator.userAgent.indexOf("X11") != -1);   //如果是Unix系统,则返回true
var isLinux = (navigator.userAgent.indexOf("Linux") != -1);   //如果是Linux系统,则返回true

分享到:
评论

相关推荐

    判断浏览器是刷新还是关闭窗口

    ### 判断浏览器是刷新还是关闭窗口 在网页开发过程中,我们常常希望能在用户退出或离开当前页面时执行一些特定的操作,比如保存用户的状态、显示一个警告框等。为此,JavaScript 提供了 `onunload` 事件,它会在...

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

    检测过程包括两个主要部分:一是检测浏览器的一般Web能力,如Canvas绘图、Web Workers和文件API等;二是特别检测WebGL的支持情况。 首先,代码中通过检查`window.CanvasRenderingContext2D`是否存在来检测浏览器...

    判断浏览器版本及类型

    这种方法通过检查浏览器是否支持某个特性来判断浏览器的能力,而不是直接依赖于浏览器的版本信息。 #### 3.2 使用现代工具 可以考虑使用如Modernizr这样的库来检测浏览器支持的功能,而无需关心具体的浏览器类型和...

    js判断浏览器版本以及浏览器内核的方法

    首先,要判断浏览器版本和内核,通常会利用JavaScript中的`navigator.userAgent`属性。`navigator`对象包含了浏览器的相关信息,而`userAgent`是一个字符串,它描述了用户代理的身份,这个字符串包含了浏览器的名称...

    用js自动判断浏览器分辨率的代码

    2. 使用条件语句(if...else...)来判断浏览器类型。 3. 根据屏幕分辨率动态设置CSS样式表,以实现响应式设计。 4. `function`关键字用于定义自定义函数,如`ScreenWidth`和`setActiveStyleSheet`。 5. `document....

    js如何判断不同系统的浏览器类型

    JavaScript作为Web前端的核心技术之一,提供了检测浏览器类型和操作系统的能力。本文将介绍如何使用JavaScript来判断不同系统的浏览器类型。 JavaScript中的`navigator`对象提供了一种方法来检查用户使用的浏览器和...

    JS获取浏览器对象

    需要注意的是,出于隐私考虑,某些浏览器可能会限制获取详细信息的能力,特别是通过`userAgent`判断浏览器类型时,某些浏览器可能会对其进行混淆。因此,在实际开发中,应尽量避免过于依赖这些信息,而是采用现代Web...

    JS判断当前页面是否在微信浏览器打开的方法

    这段代码的核心在于分析navigator.userAgent的值,并通过正则表达式来匹配特定的字符串标识,从而判断浏览器类型。 具体代码逻辑如下: 1. 首先,获取并转换userAgent为小写字符串,以便于匹配。 2. 使用正则表达式...

    JS弹出式QQ在线客服插件,支持浏览器IE、FireFox、Chrome、Safari等主流浏览器

    开发者需具备JavaScript编程能力,理解浏览器之间的差异,以及熟悉与第三方服务(如QQ)的接口集成。源码软件包含了实现这一功能所需的所有组件,通过阅读和理解源码,可以学习到更多关于Web开发和跨平台兼容性的...

    js判断主流浏览器类型和版本号的简单实现代码

    在这篇文章中,作者提供了一种使用JavaScript语言来判断用户当前所使用的浏览器类型以及版本号的简单实现代码。在Web开发过程中,开发者常常需要根据不同的浏览器环境来调整代码,以确保功能的正确执行或提供更好的...

    跨浏览器解决方案

    2. **浏览器检测与特性检测**:通过JavaScript进行浏览器检测可以确定用户使用的浏览器类型,但更推荐使用特性检测,如Modernizr,来判断浏览器是否支持特定功能,然后根据结果提供备选方案。 3. **CSS前缀**:某些...

    兼容各浏览器的JS点击复制2018年

    通过条件判断,我们可以根据浏览器的能力选择合适的方法: ```javascript function copyText(textToCopy) { if ('clipboard' in navigator && 'writeText' in navigator.clipboard) { copyTextUsingClipboardApi...

    自定义js库,解决浏览器不兼容问题

    这样可以避免错误地判断某些浏览器的能力,比如使用`typeof window.someFunction !== 'undefined'`来检查某个函数是否存在。 3. **事件处理**:不同浏览器可能使用不同的方式来注册和触发事件。例如,IE使用`...

    JavaScript安全从浏览器到服务端

    此外,还探讨了如何利用浏览器端的JavaScript来判断内网主机的存活状态和端口开放情况。比如,通过标签请求内网资源,根据请求的超时或者错误响应来判断资源是否可达。这些手段使得攻击者可以在不直接访问内网的情况...

    js 判断日期大小

    在JavaScript(以下简称JS)编程语言中,处理日期和时间是一个常见的需求,特别是在涉及日期比较、时间戳转换等操作时。本文将围绕“JS判断日期大小”这一主题,深入解析如何利用JS内置的Date对象和一些实用函数来...

    JavaScript获取浏览器信息的方法

    同时,代码还检查了`navigator.appName`来确定浏览器是否为"Netscape"或"Microsoft Internet Explorer",并根据`navigator.appVersion`的值来判断浏览器是否足够现代,如果满足条件,会弹出提示让用户知道他们的...

    JavaScript浏览器在线画布

    总结一下,JavaScript浏览器在线画布应用基于HTML5 Canvas API,利用其提供的绘图函数和事件处理能力,实现画笔、粉刷、橡皮擦等功能,同时支持用户保存创作的图片。这样的应用通常需要对DOM事件、Canvas绘图命令...

    PDF.js, 支持移动端电脑端PDF查看的浏览器控件

    PDF.js是Mozilla开发的一个开源项目,它提供了一个纯JavaScript实现的PDF阅读器,可以在Web浏览器环境中无缝地查看PDF文档。这个强大的控件使得开发者无需依赖任何桌面应用或插件,即可在网页上实现高质量的PDF文件...

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

    对象特征检测法是利用JavaScript中原生对象(如XMLHttpRequest、document.all等)的存在与否来判断浏览器的能力。通过检查这些对象和属性是否可用,我们能够得知浏览器是否支持某种特定的功能。比如,原生Ajax的写法...

Global site tag (gtag.js) - Google Analytics