初寫小程序,記錄下開發(fā)過程中遇到的部分手機打開web-view頁面空白,以及web-view頁面分享空白頁的問題,以及解決方法。
出現(xiàn)場景:當(dāng)web-view加載的頁面中存在中文字符時,會出現(xiàn)此問題。
原因:部分ios手機打開web-view頁面,并沒有進行encodeURI編碼;在使用encodeURI編碼后,頁面可打開,但進行微信小程序分享時,會再自行encode一次,導(dǎo)致部分ios解碼不成功,分享后顯示空白。
解決發(fā)法:加載含中文字符的頁面時,將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
}
}
若有不足之后,歡迎大家指正!