H5 判斷手機設備類型及不同類型調起分享


1.判斷手機設備的函數

// js判斷是否是蘋果設備
      function checkIsAppleDevice() {
        var u = navigator.userAgent,
          app = navigator.appVersion;
        var ios = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
        var iPad = u.indexOf("iPad") > -1;
        var iPhone = u.indexOf("iPhone") > -1 || u.indexOf("Mac") > -1;
        if (ios || iPad || iPhone) {
          return true;
        } else {
          return false;
        }
      }
      //js判斷是否為Android設備
      function checkIsAndroidDevice() {
        var u = navigator.userAgent;
        if (u.indexOf("Android") > -1 || u.indexOf("Adr") > -1) {
          return true;
        } else {
          return false;
        }
      } 
//js判斷是否為鴻蒙系統 chos是鴻蒙webview的標識 function checkIsHarmonyOS() { var u = navigator.userAgent; if (u.indexOf("ohos") > -1) { return true; } else { return false; } }

 2.設備類型的判斷

if (checkIsAppleDevice()) {
        return "ios";
} else if (checkIsHarmonyOS()) {
        return "HarmonyOS";
} else {
        return "andriod";
}

 注意點:鴻蒙系統的判斷要放在安卓的判斷之前,因為鴻蒙ua中包含了andriod.

3.具體分享的調用實現

function getShareUrl() {
      if ("ios" == xPhone) {
        if (
          window.webkit &&
          window.webkit.messageHandlers &&
          window.webkit.messageHandlers.requestShareUrl
        ) {
          window.webkit.messageHandlers.requestShareUrl.postMessage({
            title: $(".nickname").text() + "給你發來一張賀卡",
            summary: $(".word").text(),
            shareUrl: 'XXXXXXX', //分享地址及分享需要攜帶的參數
            image: $(".pic img").attr("src"),
          });
        } else {
          alert("請在xxx進行該操作");
        }
      } else if ("andriod" == xPhone) {
        if (window.Android && window.Android.requestShareUrl) {
          window.Android.requestShareUrl(
            JSON.stringify({
              title: $(".nickname").text() + "給你發來一張賀卡",
              summary: $(".word").text(),
              shareUrl: 'xxxxx', //分享鏈接及其攜帶參數
              image: $(".pic img").attr("src"),
            })
          );
        } else {
          alert("請在xx進行該操作");
        }
        return true;
      } else {
        //   鴻蒙系統
        if (window.requestShareUrl && window.requestShareUrl.call) {
          window.requestShareUrl.call(
            JSON.stringify({
              title: $(".nickname").text() + "給你發來一張賀卡",
              summary: $(".word").text(),
              shareUrl: 'xxxxxx' //分享鏈接及其攜帶參數
image: $(".pic img").attr("src"), }) ); } else { alert("請在xxx進行該操作"); } return true; } }

 

 鴻蒙原生方法的調用

if (window.JsCallbackToApp && window.JsCallbackToApp.call) {
    var result = JsCallbackToApp.call(params);
}

// JsCallbackToApp 為方法名
// params 為參數,參數格式為json字符串
// result 為返回值,非必須

注意點:鴻蒙系統與安卓系統的調用方法的不同

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM