Taro多端开发webview如何区分端,引入SDK,调用相应接口?

184 阅读1分钟
  • 代码如下
const inBrowser = typeof window !== "undefined";
const UA = inBrowser && window.navigator.userAgent.toLowerCase();

//微信
const isWeChat = UA && /micromessenger/.test(UA) && /miniprogram/.test(UA)

//支付宝
const isAliPay = UA && /alipay/.test(UA) && /miniprogram/.test(UA)
  • 根据端不同,注入不同sdk
function insertScript(src) {
  let oHead = document.getElementsByTagName('HEAD').item(0);
  let oScript = document.createElement("script");
  oScript.type = "text/javascript";
  oScript.id = 'insert-sdk-script'
  oScript.src = src;
  oHead.appendChild(oScript);
}

const initSDK = () => {
  if (document.getElementById("insert-sdk-script")) return //避免重复注入
  if (isWeChat) {
    insertScript('https://res.wx.qq.com/open/js/jweixin-1.3.0.js')
  } else if (isAlipay) {
    insertScript('https://appx/web-view.min.js')
  }
}

initSDK();
SDK支持相关接口文档