小程序webview页面内按钮分享后空白问题

微信小程序嵌套webview,分享的时候用使用右上角三个点打开菜单,点击分享给朋友一切正常。
但是我使用在页面增加一个open-type='share'按钮分享出去,点击就是空白,加载不了webview内的网页。不知道为什么出现这种情况,哪位帮忙看看,谢谢了。




<web-view class='page_web' src="{{url}}" bindmessage="bindGetMsg">
  <cover-view class="share" v-if="showBar">
      <button class="sharebtn" open-type='share'>分享button>
  cover-view>
web-view>



  data: {
      url:'https://www.testxcx.com',
      showBar:false
  },
  bindmessage(e) { //接收web-view传递的参数
      if (e.detail.data[e.detail.data - 1].title) {
          this.setData({ //存储状态
              title: e.detail.data[0].title
          })
      }
  },  
  //分享功能部分代码
  onLoad: function(options) {
    options.url ? this.setData({
        url: decodeURIComponent(options.url)
    }) : this.setData({
        url: options.url
    });
    //延迟显示coverview
    setTimeout(()=>{
      this.showBar = true
    },200)
  },
    //获取网页标题
    bindGetMsg: function(e) {
      this.data.shareObj = e.detail.data[e.detail.data.length - 1];
    },
    //分享并返回页面标题和链接
    onShareAppMessage: function(options) {
      let shareObj = this.data.shareObj;
      if (shareObj) {
          return {
              title: shareObj.shareTitle,
              desc: shareObj.shareDesc,
              path: '/pages/index/index?url=' + encodeURIComponent(options.webViewUrl),
          }
      }
  },    

     setTimeout(()=>{
      this.showBar = true
    },200)
这里有问题吧,应该是
    setTimeout(()=>{
    this.setData({showBar:true})
    },200)

看代码分享参数是通过加载额网页postMessage发送给小程序来设置的,确认网页没错误执行了postMessage发送信息给web-view

this.data.shareObj = e.detail.data[e.detail.data.length - 1];
console.log(this.data.shareObj);//打印看看数据

而且cover-view也遮盖不了web-view,做这个按钮功能没意义

img



我有点好奇,当你点击分享触发 onShareAppMessage 函数时,你这个时候判断应该不会成立吧,你返回的应该是个空吧?

img