<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>浏览器判断</title> </head> <body> <div id="div"></div> <script> //判断浏览器写法,第一种 var ua = navigator.userAgent.toLowerCase(); document.getElementById(‘div‘).innerHTML = ua; if(ua.indexOf(‘chrome‘) > -1){ console.log("chrome browser"); }else if(ua.indexOf(‘firefox‘) > -1){ console.log("firefox browser"); }else if(ua.indexOf(‘trident‘) > -1){ console.log("ie browser"); } </script> </body> </html>
这种写法是比较常见的,首先获取浏览器的信息然后转成小写,通过字符串方法来找到有没有chrome的字段有就是chrome浏览器,没有就是其他的浏览器。这种写发很普通,我们来看第二种写法。
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>浏览器判断</title> </head> <body> <div id="div"></div> <script> //第二种写法 var ua = navigator.userAgent; document.getElementById(‘div‘).innerHTML = ua; if(/chrome/i.test(ua)){ console.log("chrome browser"); }else if(/firefox/i.test(ua)){ console.log("firefox browser"); }else if(/trident/i.test(ua)){ console.log("ie browser"); } </script> </body> </html>
第二种写法稍微高端一点,用的是正则,同样也是先获取浏览器信息,然后通过正则来判断有无chrome这个字段,这个方法比第一个写法优点有二。
1.不用转换大小写
2.通过正则减少判断的次数
这样少了一次方法的调用,也使用正则比较底层的写法,所以运行速度更快。
时间: 2024-12-18 14:11:08