1. 程式人生 > >微信小程式ios和安卓遇到的幾個坑兒

微信小程式ios和安卓遇到的幾個坑兒

近來一個朋友問:手寫一個日曆,為什麼在安卓能遍歷顯示,而蘋果裡卻不顯示,你遇到過遍歷不出的bug嗎?

首先解決下上述問題,我總結下我印象深刻的幾個坑~

1.回答下最開始的那個問題,手寫一個日曆,為什麼在安卓能遍歷顯示,而蘋果裡卻不顯示?

首先確定這並不是遍歷的bug,肯定是相容性問題,遍歷這是最基本的語法,問題肯定出在遍歷的資料處理階段,看了程式碼果不其然,結論就是:ios 系統的問題,比如newDate(“2018-08-08”),在ios會出現NaN的情況,ios只支援newDate(“2018/08/08”)

2.video 視訊格式m3u8,在ios裡邊兒不能播放,但是安卓能正常播放?

分析

官方給的例子,是mp4格式的檔案,ios可以播放,微信小程式開發者平臺的論壇也有類似的問題,但是沒有準確的答案,我開始考慮轉換下格式,奈何,技術不夠,嘗試新增在image 標籤 新增 custom-cache={{cache}} ,data 中新增 cache:false問題解決了。

解決
    <video src="{{sbDress}}" controls   custom-cache="{{cache}}"></video>

3.微信小程式WxParse 包含圖片安卓端無法載入

分析

wxparse 是微信小程式用於解析富文字編輯器生成程式碼的外掛,用於展示一般的圖文。在安卓手機端如果內容包含圖片的標籤時整個內容都無法加載出來,在手機端檢視console,發現安卓機在console.dir()的時候報錯,這是由於安卓機不支援console.dir()的語法。

結論:

這是安卓機不支援console.dir()的語法,使用console.log()代替。

4.安卓上圖片會出現卡頓,變形,然後才會顯示正常的圖片大小

分析

開發文件裡寫明:注:image元件預設寬度300px、高度225px,開發時所有image的小圖示都使用了mode=”widthFixed”,只設置了寬度,讓高度自適應,就會出現圖片載入時初始化高度位225px,載入完畢才顯示mode的高度,由於安卓機這個卡頓教明顯,才會出現瞬時的變形。

結論

今後使用image 標籤,儘量固定寬高。

5.navigationBar 在安卓機中位置為左邊,在蘋果中居中顯示,那麼標題字數多了之後蘋果就會預設使用…代替剩餘的文字

分析

這個也不是bug,只不過時顯示問題,目前版本6.6.0裡支援在window屬性裡設定navigationStyle由預設樣式修改為custom,支援自定義樣式。所謂的自定義樣式,就是預設導航,只剩一個膠囊的導航。

結論

app.json裡邊兒設定window{“navitionStyle”:”custom”},後要自己使用在wxml,and wxss裡寫樣式顯示頭部的導航欄。

注意

由於該屬性是微信6.6.0才支援,所以需要將其他的window屬性照常寫,來相容低版本。