您好,欢迎访问一九零五行业门户网

如何使用JavaScript的userAgent属性判断浏览器类型

判断浏览器的类型我们可以使用javascript中提供的navigator对象的useragent属性,它是唯一可以获取运行javascript 的浏览器类型和版本等信息的属性,使用简单方便,但是如果做出错误的浏览器判断顺序则容易出错,因此必须要小心。
我们先来看一下useragent属性的基本语法
window.navigator.useragent;
通过这样就可以获得描述浏览器信息的“字符串”作为返回值。
重点是将信息作为字符串获取到最后!
因此,有必要使用诸如indexof()之类的方法在字符信息中提取浏览器的类型和版本。
如何获取浏览器信息?
让我们创建一个实际获取浏览器类型的程序!
首先从useragent属性获取浏览器信息开始。
//方法①var agent = window.navigator.useragent;//方法②var agent = window.navigator.useragent.tolowercase();
方法①和平常一样使用useragent属性,不过,②最后执行的是tolowercase()。
实际上,获取的浏览器信息是大写和小写字母的混合字符串,因此基本上将它全部用小写或大写字母更容易判断。
因此,一般来说,我会用方法②写下来!
var agent = window.navigator.useragent.tolowercase();var result = agent.indexof('chrome') > -1;console.log(result);
在这个例子中,使用了indexof()确认取得了浏览器信息「chrome」的文字是否存在。
如果没有,则返回“-1”,如果存在,则返回“字符位置”。
因此,通过“> -1”的比较,可以得到“true / false”,所以可以进行判定。
浏览器的判断
目前,有各种浏览器,例如“ie”,“chrome”,“safari”,“firefox”为主流浏览器
让我们看看如何判断每个浏览器!
一般来说,基本上是通过if语句按顺序判断每个浏览器名称。
var agent = window.navigator.useragent.tolowercase();if(agent.indexof('msie') > -1) { console.log('ie浏览器'); } else if(agent.indexof('edge') > -1) { console.log('edge浏览器');} else if(agent.indexof('chrome') > -1) { console.log('chrome浏览器');} else if(agent.indexof('safari') > -1) { console.log('safari浏览器');} else if(agent.indexof('firefox') > -1) { console.log('firefox浏览器');} else { console.log('其他浏览器');}
在此示例中,使用useragent获取浏览器信息,并且indexof()按顺序判断每个浏览器名称。
我们在开始时介绍了一点,但比较的顺序是很重要的!
实际上,当您使用useragent属性检查edge浏览器时,它包含字符“chrome”和“safari”。
此外,查看chrome浏览器包含“safari”一词。
这样,有些情况下会包含与原始浏览器不同的名称,因此有必要首先比较要调查的浏览器。
基本上,至少让我们保证“edge”→“chrome”→“safari”的顺序!
以上就是如何使用javascript的useragent属性判断浏览器类型的详细内容。
其它类似信息

推荐信息