当前位置:   article > 正文

navigator.userAgent获取浏览器信息(类型及系统)

navigator.useragent

浏览器对于我们来说,可能是最熟悉的工具了。熟知的浏览器Firefox、Opera、Safari、IE、Chrome以外,据说世界上还有近百种浏览器。通常在开发的时候要做到兼容各种浏览器,因此提炼出判断浏览器类型及系统是很重要的。

先来看看什么是User-Agent?User-Agent是HTTP请求中的用户标识,一般发送一个能够代表客户端类型的字符串,比如浏览器类型 操作系统等信息。User-Agent 的约定格式是:应用名,跟一个斜线,跟版本号,剩下的是自由的格式。

此处我只实例展示几个浏览器

Chrome

iphone的safari

IE

 

接下来封装了获取浏览类型与系统的函数,之后在需要的地方进行调用即可

  1. // 各主流浏览器
  2. function getBrowser() {
  3. var u = navigator.userAgent;
  4. var bws = [{
  5. name: 'sgssapp',
  6. it: /sogousearch/i.test(u)
  7. }, {
  8. name: 'wechat',
  9. it: /MicroMessenger/i.test(u)
  10. }, {
  11. name: 'weibo',
  12. it: !!u.match(/Weibo/i)
  13. }, {
  14. name: 'uc',
  15. it: !!u.match(/UCBrowser/i) || u.indexOf(' UBrowser') > -1
  16. }, {
  17. name: 'sogou',
  18. it: u.indexOf('MetaSr') > -1 || u.indexOf('Sogou') > -1
  19. }, {
  20. name: 'xiaomi',
  21. it: u.indexOf('MiuiBrowser') > -1
  22. }, {
  23. name: 'baidu',
  24. it: u.indexOf('Baidu') > -1 || u.indexOf('BIDUBrowser') > -1
  25. }, {
  26. name: '360',
  27. it: u.indexOf('360EE') > -1 || u.indexOf('360SE') > -1
  28. }, {
  29. name: '2345',
  30. it: u.indexOf('2345Explorer') > -1
  31. }, {
  32. name: 'edge',
  33. it: u.indexOf('Edge') > -1
  34. }, {
  35. name: 'ie11',
  36. it: u.indexOf('Trident') > -1 && u.indexOf('rv:11.0') > -1
  37. }, {
  38. name: 'ie',
  39. it: u.indexOf('compatible') > -1 && u.indexOf('MSIE') > -1
  40. }, {
  41. name: 'firefox',
  42. it: u.indexOf('Firefox') > -1
  43. }, {
  44. name: 'safari',
  45. it: u.indexOf('Safari') > -1 && u.indexOf('Chrome') === -1
  46. }, {
  47. name: 'qqbrowser',
  48. it: u.indexOf('MQQBrowser') > -1 && u.indexOf(' QQ') === -1
  49. }, {
  50. name: 'qq',
  51. it: u.indexOf('QQ') > -1
  52. }, {
  53. name: 'chrome',
  54. it: u.indexOf('Chrome') > -1 || u.indexOf('CriOS') > -1
  55. }, {
  56. name: 'opera',
  57. it: u.indexOf('Opera') > -1 || u.indexOf('OPR') > -1
  58. }];
  59. for (var i = 0; i < bws.length; i++) {
  60. if (bws[i].it) {
  61. return bws[i].name;
  62. }
  63. }
  64. return 'other';
  65. }
  66. // 系统区分
  67. function getOS() {
  68. var u = navigator.userAgent;
  69. if (!!u.match(/compatible/i) || u.match(/Windows/i)) {
  70. return 'windows';
  71. } else if (!!u.match(/Macintosh/i) || u.match(/MacIntel/i)) {
  72. return 'macOS';
  73. } else if (!!u.match(/iphone/i) || u.match(/Ipad/i)) {
  74. return 'ios';
  75. } else if (!!u.match(/android/i)) {
  76. return 'android';
  77. } else {
  78. return 'other';
  79. }
  80. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/101775
推荐阅读