アプレットの webView ページが転送された後、ページが空白になる

アプレットの webView ページで、共有するために右上隅のボタンをクリックした後、共有に入るリンク ページが空白です

ページを再入力した後、ページは空白です。コンピューターを使用して開いた後、エラーメッセージは次のとおりです

 

 1. ページが転送された後、ページ アドレスがデコードされているかどうかを確認します。

Webview ページが転送された後、アプレットは url パラメータをトランスコードします。このとき、ページ アドレスが再デコードされないと、ページの再描画が失敗し、空白のページが表示されます。

// index.js
// 获取应用实例
const app = getApp()
var util = require('../utils/util.js');
Page({
  data: {
    url:''
  },
  onLoad(options){    
    if(options.weburl){
      const weburl = decodeURIComponent(options.weburl)
      this.setData({
        url: weburl
      })
    }
  },   

  /**
  * 用户点击右上角分享
  */
  onShareAppMessage: function () {
    
  }
})

 2.現在のページが共有されている場合、ページの共有リンクが処理されないことを確認します

アプレットが提供する onShareAppMessage メソッドを使用して、共有のタイトル (title)、共有ページのアドレス (path)、共有イメージ (imageUrl) など、共有に必要なオブジェクトを再構築する必要があります。組み立て後、再割り当てします。

/**
  * 用户点击右上角分享
  */
  onShareAppMessage: function (res) {
    console.log("分享", res)
    let shareObj = {
      tittle: res.title, //默认是小程序名称
      path: `/pages/product/index?weburl=${encodeURIComponent(res.webViewUrl)}`, //页面分享
      success: function(ress){
        // 转发成功之后的回调
        if(ress.errMsg == 'shareAppMessage:ok'){
          console.log("chenggon")
        }
      },
      fail: function(error){
        console.log("分享错误", error)
        // 转发失败之后的回调
     if(res.errMsg == 'shareAppMessage:fail cancel'){
      // 用户取消转发
     }else if(res.errMsg == 'shareAppMessage:fail'){
      // 转发失败,其中 detail message 为详细失败信息
     }
      },
      complete: function(){
        // 转发结束之后的回调(转发成不成功都会执行)
        
      }
    }
    return shareObj;
  }

3. アプレット ビジネスのドメイン名設定に http などのリクエストが含まれているかどうかなど、アプレットのバックエンドのパラメータ設定を確認します。そのようなリクエストをバックグラウンド設定で https に設定する必要があります; アプレット インターフェイスのドメイン名などを確認する必要があります。

WeChat プラットフォームのミニ プログラムの開発ドキュメントへのリンクが用意されており、直接飛ぶことができます ~ wx.updateShareMenu(Object object) | WeChat オープン ドキュメントWeChat 開発者プラットフォーム ドキュメントhttps://developers.weixin.qq.com/ miniprogram/dev/api/share/wx.updateShareMenu.html

おすすめ

転載: blog.csdn.net/codingLeader/article/details/128184893