HTML5 或者JS可以获取移动设备信息吗?或者其他非开发语言的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTML5 或者JS可以获取移动设备信息吗?或者其他非开发语言的方法相关的知识,希望对你有一定的参考价值。

参考技术A

<scripttype="text/javascript"><!--

function detectOS()

isWindows = (navigator.userAgent.indexOf("Windows",0) != -1)?1:0;

isMac = (navigator.userAgent.indexOf("mac",0) != -1)?1:0;

isLinux = (navigator.userAgent.indexOf("Linux",0) != -1)?1:0;

isUnix = (navigator.userAgent.indexOf("X11",0) != -1)?1:0;

广义的html5包含以下内容:

html5:(一套语义化的标签,在html4的基础上增加的一些语义化的标签:如header,footer等让人一眼就能看明白是做什么的标签)。

css3:(在css2的基础增加了一些属性,比如圆角,阴影等等属性)。

javascript:(同样是在原来的基础上增加了一些新的api,如与html5的canvas标签对应的一套api)。

参考技术B 浏览器navigator.userAgent提供了一点设备信息:Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D201 Safari/9537.53

Web API里我估计慢慢也会增加:https://developer.mozilla.org/en-US/docs/Web/API
参考技术C http://www.qdfuns.com/notes/44742/d9ec0687435672474590ee526be7655e.html本回答被提问者采纳

js获取移动端设备信息(IMEM,IMIS,手机型号,系统版本,浏览器信息等)

 

方法一: HTML+  封装好的方法,额外配置,使用指定方法打包才可用

属性:

  • imei: 设备的国际移动设备身份码
  • imsi: 设备的国际移动用户识别码
  • model: 设备的型号
  • vendor: 设备的生产厂商
  • uuid: 设备的唯一标识

参考地址: http://www.html5plus.org/doc/zh_cn/device.html

 

方法二:引用插件mobile-detect.js,可以获取

  1. console.log( md.mobile() );          // ‘Sony‘  
  2. console.log( md.phone() );           // ‘Sony‘  
  3. console.log( md.tablet() );          // null  
  4. console.log( md.userAgent() );       // ‘Safari‘  
  5. console.log( md.os() );              // ‘AndroidOS‘  
  6. console.log( md.is(‘iPhone‘) );      // false  
  7. console.log( md.is(‘bot‘) );         // false  
  8. console.log( md.version(‘Webkit‘) );         // 534.3  
  9. console.log( md.versionStr(‘Build‘) );       // ‘4.1.A.0.562‘  
  10. console.log( md.match(‘playstation|xbox‘) ); // false 

参考地址:http://hgoebl.github.io/mobile-detect.js

下载地址:https://github.com/hgoebl/mobile-detect.js/

 

方法三:调用app的native方法,jsBrage交互获取json字符串

  //app交互
  var flag;
  var jsBridge = (function () {   

      function connectWebViewJavascriptBridge(callback) {
          if (window.WebViewJavascriptBridge) {
              callback(WebViewJavascriptBridge);
          } else {
              document.addEventListener(‘WebViewJavascriptBridgeReady‘, function () {
                  callback(WebViewJavascriptBridge);
              }, false)
          }
      }
      connectWebViewJavascriptBridge(function (WebViewJavascriptBridge) {
          WebViewJavascriptBridge.init(function (message, responseCallback) {

          });
          WebViewJavascriptBridge.registerHandler("contactsList", function(data, responseCallback) {
              phoneNumbers=(data);
          });
          WebViewJavascriptBridge.registerHandler("contacts", function(data, responseCallback) {
              var datas=JSON.parse(data);
              if(currentNum==1){
                  name1=datas.name;
                  tel1=datas.phone;
                  $("#firstTxtName").val(datas.name);
                  $("#firstTxtTel").val(datas.phone);
              }else {
                  name2=datas.name;
                  tel2=datas.phone;
                  $("#secondTxtName").val(datas.name);
                  $("#secondTxtTel").val(datas.phone);
              }
          });
          WebViewJavascriptBridge.callHandler(‘getAppVersion‘, {}, function (response) { callback(response); });
          fn && fn();

      })
      return {
          init: function (fn) {
              connectWebViewJavascriptBridge(function (WebViewJavascriptBridge) {
                  WebViewJavascriptBridge.init(function (message, responseCallback) {

                  });

                  fn && fn();

              })
          },
          copyWechat: function (obj) {
              WebViewJavascriptBridge.callHandler(‘copyWechat‘, { pageID: obj.pageID }, function (response) { });
          },
          saveQR: function (obj) {
              WebViewJavascriptBridge.callHandler(‘saveQR‘, { pageID: obj.pageID }, function (response) { });
          },
          showAppPage: function (obj) {
              WebViewJavascriptBridge.callHandler(‘showAppPage‘, { pageID: obj.pageID }, function (response) { });
          },
          jumpTo: function (obj) {
              WebViewJavascriptBridge.callHandler(‘jumpTo‘, {}, function (response) { });
          },
          showWebPage: function (obj) {
          WebViewJavascriptBridge.callHandler(‘showWebPage‘, { title: obj.title, pageUrl: obj.pageUrl }, function (response) { });
          },
          getSid: function (callback) {
              WebViewJavascriptBridge.callHandler(‘getSid‘, {}, function (response) { callback(response); });
          },       
          getContacts: function (callback) {
              WebViewJavascriptBridge.callHandler(‘getContacts‘, {}, function (response) { callback(response); });
          },
            getAppVersion: function (callback) {
                WebViewJavascriptBridge.callHandler(‘getAppVersion‘, {}, function (response) { 
                  flag=response;
                  callback(response); 
                });
            }
      }
  })();

  

以上是关于HTML5 或者JS可以获取移动设备信息吗?或者其他非开发语言的方法的主要内容,如果未能解决你的问题,请参考以下文章

html5或者JS怎样调用手机摄像头或者相册?

html5或者JS怎样调用手机摄像头或者相册

js获取移动端设备信息(IMEM,IMIS,手机型号,系统版本,浏览器信息等)

HTML5+获取设备信息

HTML5+获取设备信息

js怎样获取移动设备信息