初寫小程序,記錄下開發(fā)過程中遇到的部分手機(jī)打開web-view頁面空白,以及web-view頁面分享空白頁的問題,以及解決方法。
出現(xiàn)場(chǎng)景:當(dāng)web-view加載的頁面中存在中文字符時(shí),會(huì)出現(xiàn)此問題。
原因:部分ios手機(jī)打開web-view頁面,并沒有進(jìn)行encodeURI編碼;在使用encodeURI編碼后,頁面可打開,但進(jìn)行微信小程序分享時(shí),會(huì)再自行encode一次,導(dǎo)致部分ios解碼不成功,分享后顯示空白。
解決發(fā)法:加載含中文字符的頁面時(shí),將url進(jìn)行編碼encodeURI(url),可打開含中文字符的頁面。例:
onLoad: function (options){
this.setData({
url: options.url ? encodeURI(options.url ) : '',
})
}
在頁面進(jìn)行分享時(shí),在onShareAppMessage方法中進(jìn)行多次解碼。如
onShareAppMessage: function (options) {
var returnUrl = decodeURI(decodeURI(decodeURI(options.webViewUrl)))
return {
path: "分享的頁面路徑?url=" + returnUrl
}
}
若有不足之后,歡迎大家指正!