本文目录

JavaScript 判断用户的当前的浏览器

🌙
手机阅读
本文目录结构

于是在自己以前的校验中,又更新了一些浏览器判断;

在线检测,点开后就可以看到你当前浏览器的状况了;

https://zhubangbang.com/demo/get-ua/index.html

备注:欧朋已经用 webkit 的内核了,以后写 CSS3 也不需要加 -o 了(以前加 -o 是为了向后兼容,为的是适应以后的欧朋,没想到欧朋直接上了 webkit 的内核,然后就没有然后了)

代码如下;

  1. (function getUA(window) {
  2. var ua = navigator.userAgent.toLowerCase();
  3. var ieMode = document.documentMode,
  4. isIE = !!window.ActiveXObject,
  5. isIE6 = isIE && !window.XMLHttpRequest;
  6. var isEdge=/edge/i.test(ua),
  7. isOpera=/opr/i.test(ua);
  8. var isIpad = /(ipad).*os\s([\d_]+)/i.test(ua);
  9. window.UA = {
  10. isMobile : /applewebkit.*mobile.*/.test(ua) || /applewebKit/.test(ua), //是否为移动端
  11. isMac : /mac os x/.test(ua), //苹果电脑
  12. isAndroid : ua.indexOf('android') > -1 || ua.indexOf('linux') > -1, //android终端
  13. isIPhone : !isIpad && /(iphone\sos)\s([\d_]+)/i.test(ua), //iphone
  14. isIPad : isIpad, //ipad
  15. isIos : isIpad || /(iphone\sos)\s([\d_]+)/i.test(ua), //ios系统,包括ipad和iphone;(不包含iPod touch)
  16. isWeiXin : /micromessenger/i.test(ua), //weixin
  17. isUC : ua.indexOf('ucbrowser') > -1, //UC
  18. isUC_Webkit : /uc\sapplewebkit\/([\d.]+)/i.test(ua), //isUC_Webkit
  19. isUC_Proxy : /(ucweb)(\d.+?(?=\/))/i.test(ua), //isUC_Proxy
  20. isWeibo : /weibo/i.test(ua), //在新浪微博客户端打开
  21. isQQ : /(qq)\//i.test(ua), //在QQ
  22. isChrome : (/chrome\/([\d.]+)/.test(ua) || /crios\/([\d.]+)/.test(ua))&& !isEdge && !isOpera, //Chrome
  23. isMozilla : ua.indexOf('gecko') > -1 && ua.indexOf('khtml') == -1, //火狐内核
  24. isWebkit : /applewebkit/i.test(ua), //苹果,谷歌内核
  25. isOpera : isOpera, //opera浏览器,webkit
  26. isSafari : /safari/i.test(ua) && (!/chrome/i.test(ua)), //苹果浏览器
  27. isBlackberry: /(blackberry).*version\/([\d.]+)/i.test(ua), //blackberry
  28. isEdge : isEdge, //edge
  29. isIE : isIE, //IE
  30. isIE6 : isIE6, //IE6
  31. isIE7 : isIE && !isIE6 && !ieMode || ieMode == 7, //IE7
  32. isIE8 : isIE && ieMode == 8, //IE8
  33. isIE9 : isIE && ieMode == 9, //IE9
  34. isIE10 : isIE && ieMode == 10, //IE10
  35. is360mse : /360 aphone browser|qhbrowser/i.test(ua), //360手机浏览器
  36. isHorizontal: window.orientation == 90 || window.orientation == -90, //是否横屏
  37. isVertical : window.orientation == 0 || window.orientation == 180 //是否竖屏
  38. }
  39. })(window);

我自己测试了下,还是可以的;

脚本地址:https://zhubangbang.com/ssl/laboratory/get-ua.js

使用演示:

  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>Document</title>
  8. </head>
  9. <body>
  10. <script src="https://zhubangbang.com/ssl/laboratory/get-ua.js"></script>
  11. <script>
  12. if(UA.isWeiXin){
  13. console.log("现在是微信打开");
  14. }else if(UA.isChrome){
  15. console.log("现在是Chrome打开");
  16. }else{
  17. console.log("other");
  18. }
  19. </script>
  20. </body>
  21. </html>

有问题欢迎留言

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了