当前位置:   article > 正文

javascript的navigator对象及属性userAgent(判断用户打开页面所处环境,如安卓或IOS)_js navigator.useragent

js navigator.useragent

javascript的navigator对象

navigator为Window对象的一个属性,指向了一个包含浏览器相关信息的对象。navigatot中包含了一些常用到的属性,如   

  1. navigator.appVersion 浏览器的版本号 

  2. navigator.appName 浏览器的名称 

  3. navigator.language 浏览器使用的语言 

  4. navigator.platform 浏览器使用的平台 

  5. navigator.userAgent 浏览器的user-agent信息

    其中userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值。

    一般来讲,它是在 navigator.appCodeName 的值之后加上斜线和 navigator.appVersion 的值构成的。

    例如:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)。

  1. 一些例子:
  2. <script>
  3. //判断当前页面所在的环境是不是微信内置浏览器
  4. function isWeiXin() {
  5. var ua = window.navigator.userAgent.toLowerCase();
  6. if (ua.match(/MicroMessenger/i) == 'micromessenger') {
  7. return true;
  8. } else {
  9. return false;
  10. }
  11. }
  12. //判断苹果、安卓、pc
  13. if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { //判断iPhone|iPad|iPod|iOS
  14. window.location.href ="iPhone.html";
  15. } else if (/(Android)/i.test(navigator.userAgent)) { //判断Android
  16. window.location.href ="Android.html";
  17. } else { //pc
  18. window.location.href ="pc.html";
  19. };
  20. //正则表达式判断浏览器类型
  21. function userBrowser(){
  22. var browserName=navigator.userAgent.toLowerCase();
  23. if(/msie/i.test(browserName) && !/opera/.test(browserName)){
  24. alert("IE");
  25. return ;
  26. }else if(/firefox/i.test(browserName)){
  27. alert("Firefox");
  28. return ;
  29. }else if(/chrome/i.test(browserName) && /webkit/i.test(browserName) && /mozilla/i.test(browserName)){
  30. alert("Chrome");
  31. return ;
  32. }else if(/opera/i.test(browserName)){
  33. alert("Opera");
  34. return ;
  35. }else if(/webkit/i.test(browserName) &&!(/chrome/i.test(browserName) && /webkit/i.test(browserName) && /mozilla/i.test(browserName))){
  36. alert("Safari");
  37. return ;
  38. }else{
  39. alert("unKnow");
  40. }
  41. }
  42. </script>
  1. var browser = {
  2. versions: function () {
  3. var u = navigator.userAgent, app = navigator.appVersion;
  4. return { //移动终端浏览器版本信息
  5. trident: u.indexOf('Trident') > -1, //IE内核
  6. presto: u.indexOf('Presto') > -1, //opera内核
  7. webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
  8. gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
  9. mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
  10. ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
  11. android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或uc浏览器
  12. iPhone: u.indexOf('iPhone') > -1, //是否为iPhone或者QQHD浏览器
  13. iPad: u.indexOf('iPad') > -1, //是否iPad
  14. webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
  15. };
  16. }(),
  17. language: (navigator.browserLanguage || navigator.language).toLowerCase()
  18. }
  1. if (browser.versions.mobile) {//判断是否是移动设备打开。browser代码在下面
  2. var ua = navigator.userAgent.toLowerCase();//获取判断用的对象
  3. if (ua.match(/MicroMessenger/i) == "micromessenger") {
  4. //在微信中打开
  5. }
  6. if (ua.match(/WeiBo/i) == "weibo") {
  7. //在新浪微博客户端打开
  8. }
  9. if (ua.match(/QQ/i) == "qq") {
  10. //在QQ空间打开
  11. }
  12. if (browser.versions.ios) {
  13. //是否在IOS浏览器打开
  14. }
  15. if(browser.versions.android){
  16. //是否在安卓浏览器打开
  17. }
  18. } else {
  19. //否则就是PC浏览器打开
  20. }

 

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