怎样使用JavaScript的userAgent属性推断阅读器类型
我们先来看一下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属性推断阅读器类型的具体内容,更多请关注百分百源码网其它相关文章!