uniapp 用web-view 嵌套uniapp(保姆级)

近期公司有个需求uniapp开发的APP要嵌套uniapp开发的h5,并且APP后面还要打包H5,这就涉及

app和h5之间的通信,h5和h5之间的通信,期间网上找了很多资料也踩了不少坑,如果不符合这种情况情,请划走

准备工作:

无论是app和h5通信还是 h5和h5之间的通信都是需要引入web-view的sdk文件 我下载的是1.5.2版本,代码如下

!(function (e, n) {
  'object' == typeof exports && 'undefined' != typeof module
    ? (module.exports = n())
    : 'function' == typeof define && define.amd
    ? define(n)
    : ((e = e || self).uni = n())
})(this, function () {
  'use strict'
  try {
    var e = {}
    Object.defineProperty(e, 'passive', {
      get: function () {
        !0
      },
    }),
      window.addEventListener('test-passive', null, e)
  } catch (e) {}
  var n = Object.prototype.hasOwnProperty
  function t(e, t) {
    return n.call(e, t)
  }
  var i = [],
    a = function (e, n) {
      var t = { options: { timestamp: +new Date() }, name: e, arg: n }
      if (window.__dcloud_weex_postMessage || window.__dcloud_weex_) {
        if ('postMessage' === e) {
          var a = { data: [n] }
          return window.__dcloud_weex_postMessage
            ? window.__dcloud_weex_postMessage(a)
            : window.__dcloud_weex_.postMessage(JSON.stringify(a))
        }
        var o = {
          type: 'WEB_INVOKE_APPSERVICE',
          args: { data: t, webviewIds: i },
        }
        window.__dcloud_weex_postMessage
          ? window.__dcloud_weex_postMessageToService(o)
          : window.__dcloud_weex_.postMessageToService(JSON.stringify(o))
      }
      if (!window.plus)
        return window.parent.postMessage(
          { type: 'WEB_INVOKE_APPSERVICE', data: t, pageId: '' },
          '*'
        )
      if (0 === i.length) {
        var r = plus.webview.currentWebview()
        if (!r) throw new Error('plus.webview.currentWebview() is undefined'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值