小程序web-view页面部分手机打开空白问题

初写小程序,记录下开发过程中遇到的部分手机打开web-view页面空白,以及web-view页面分享空白页的问题,以及解决方法。

出现场景:当web-view加载的页面中存在中文字符时,会出现此问题。
原因:部分ios手机打开web-view页面,并没有进行encodeURI编码;在使用encodeURI编码后,页面可打开,但进行微信小程序分享时,会再自行encode一次,导致部分ios解码不成功,分享后显示空白。
解决发法:加载含中文字符的页面时,将url进行编码encodeURI(url),可打开含中文字符的页面。例:
onLoad: function (options){
this.setData({
      url: options.url ? encodeURI(options.url ) : '',
    })
}

在页面进行分享时,在onShareAppMessage方法中进行多次解码。如

onShareAppMessage: function (options) {
    var returnUrl = decodeURI(decodeURI(decodeURI(options.webViewUrl)))
    return {
      path: "分享的页面路径?url=" + returnUrl
    }
    
  }

若有不足之后,欢迎大家指正!

你可能感兴趣的:(小程序web-view页面部分手机打开空白问题)