前言:用于客户端检测的工具函数记录

是否为IOS设备

  1. let isIos = () => {
  2. var u = navigator.userAgent
  3. if (u.indexOf('Android') > -1 || u.indexOf('Linux') > -1) {
  4. //安卓手机
  5. // return "Android";
  6. return false
  7. } else if (u.indexOf('iPhone') > -1) {
  8. //苹果手机
  9. // return "iPhone";
  10. return true
  11. } else if (u.indexOf('iPad') > -1) {
  12. //iPad
  13. // return "iPad";
  14. return false
  15. } else if (u.indexOf('Windows Phone') > -1) {
  16. //winphone手机
  17. // return "Windows Phone";
  18. return false
  19. } else {
  20. return false
  21. }
  22. }

是否为PC设备

  1. let isPC = () => {
  2. //是否为PC端
  3. var userAgentInfo = navigator.userAgent
  4. var Agents = [
  5. 'Android',
  6. 'iPhone',
  7. 'SymbianOS',
  8. 'Windows Phone',
  9. 'iPad',
  10. 'iPod',
  11. ]
  12. var flag = true
  13. for (var v = 0; v < Agents.length; v++) {
  14. if (userAgentInfo.indexOf(Agents[v]) > 0) {
  15. flag = false
  16. break
  17. }
  18. }
  19. return flag
  20. }

浏览器类型

  1. let browserType = () => {
  2. var userAgent = navigator.userAgent //取得浏览器的userAgent字符串
  3. var isOpera = userAgent.indexOf('Opera') > -1 //判断是否Opera浏览器
  4. var isIE =
  5. userAgent.indexOf('compatible') > -1 &&
  6. userAgent.indexOf('MSIE') > -1 &&
  7. !isOpera //判断是否IE浏览器
  8. var isIE11 =
  9. userAgent.indexOf('Trident') > -1 && userAgent.indexOf('rv:11.0') > -1
  10. var isEdge = userAgent.indexOf('Edge') > -1 && !isIE //判断是否IE的Edge浏览器
  11. var isFF = userAgent.indexOf('Firefox') > -1 //判断是否Firefox浏览器
  12. var isSafari =
  13. userAgent.indexOf('Safari') > -1 && userAgent.indexOf('Chrome') == -1 //判断是否Safari浏览器
  14. var isChrome =
  15. userAgent.indexOf('Chrome') > -1 && userAgent.indexOf('Safari') > -1 //判断Chrome浏览器
  16. if (isIE) {
  17. var reIE = new RegExp('MSIE (\\d+\\.\\d+);')
  18. reIE.test(userAgent)
  19. var fIEVersion = parseFloat(RegExp['$1'])
  20. if (fIEVersion == 7) return 'IE7'
  21. else if (fIEVersion == 8) return 'IE8'
  22. else if (fIEVersion == 9) return 'IE9'
  23. else if (fIEVersion == 10) return 'IE10'
  24. else return 'IE7以下' //IE版本过低
  25. }
  26. if (isIE11) return 'IE11'
  27. if (isEdge) return 'Edge'
  28. if (isFF) return 'FF'
  29. if (isOpera) return 'Opera'
  30. if (isSafari) return 'Safari'
  31. if (isChrome) return 'Chrome'
  32. }

image.png