码迷,mamicode.com
首页 > 编程语言 > 详细

用JavaScript检测浏览器

时间:2014-07-06 12:36:44      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:javascript   浏览器   

    如果你真的需要检测浏览器的类型,用JavaScript很容易实现。

 

bubuko.com,布布扣

View Demo

Download Source from GitHub


    JavaScript有一个navigator的标准对象,它包含了关于浏览器使用的信息。

    navigator对象由很多属性,但是userAgent属性---一个字符串就已经包含了浏览器、操作系统以及其它我们需要的所有信息。


    如果需要显示navigator.userAgent的值,只需要选择下面的一种的方式就可以:


Alert

// Display in an alert box
alert(navigator.userAgent);

bubuko.com,布布扣

火狐30在win7上的navigator.userAgent值。


Document.write

// Write it in the HTML document
document.write(navigator.userAgent); 

console.log

// Display it in the browser's developer tool
// This is ideal
// Use console.log() when you're developing/experimenting JavaScript
console.log(navigator.userAgent);

对于IE11,输出如下

Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; MASM; .NET4.0C; .NET4.0E; rv:11.0) like Gecko

    正如你看到的,使用userAgent.navigator的问题在于,它是一串很长的字符串,并且可读性不好。

所以,如果我想得到想要的信息,或者把它给用户看,我首先,我要解析这个字符串。问题是我对于正则表达式的使用(在其他一些方面)显得无能为力,所以我很乐意使用Darcy Clarke写的Detect.js JavaScript 程序库。


    Detect.js能够将一个字符串解析为一个可读和可操作的JavaScript对象。为了显示浏览器的名称、版本以及所用的操作系统,可参考如下代码:

// Create 'user' object that will contain Detect.js stuff
// Call detect.parse() with navigator.userAgent as the argument
var user = detect.parse(navigator.userAgent);

// Display some property values in my browser's dev tools console
console.log(
  user.browser.family
  user.browser.version
  user.os.name
);

Firebug, 将看到:

Firefox 30 Windows 7

bubuko.com,布布扣

同一台机器上,在Google开发者工具中的结果是:

Chrome 35 Windows 7

bubuko.com,布布扣

可以使用条件语句来针对一个特定的浏览器,例如:只想针对Safari桌面浏览器


if (user.browser.family === ‘Safari‘) {
  alert(‘You\‘re using the Safari browser‘);   
}

bubuko.com,布布扣

所有被解析过的属性表:

bubuko.com,布布扣

注意:如果属性不能被解析,则其值为null或者undefined。如果你想把这些信息给你的用户看,那么你就应该对于可能出现null或者undefined的值的地方进行条件判断。





用JavaScript检测浏览器,布布扣,bubuko.com

用JavaScript检测浏览器

标签:javascript   浏览器   

原文地址:http://blog.csdn.net/u011043843/article/details/36868321

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!