1悠菜、background-image
背景圖不能用本地地址舰攒,會報錯,如果要用image替代悔醋。在行間樣式上可以寫本地地址摩窃,微信開發(fā)者工具能顯示,ios也能顯示芬骄,但是Android不能顯示猾愿。所以還是不行鹦聪。
2、字體的加載問題
字體的加載在Android和ios上表現(xiàn)得不一致蒂秘,要知道小程序的代碼包可是不能超過4mb的一個字體如果3mb那就涼了椎麦。所以把字體傳到服務(wù)器上,用線上的地址材彪,是最好的方式观挎,但是。天不遂人愿段化,用線上的地址在開發(fā)者文檔中可以嘁捷,在ios上也可以,就是在我的華為的手機(jī)上不行显熏,我就暫時定義在Android上不行吧雄嚣。于是,只能用本地的喘蟆,發(fā)現(xiàn)本地也不行缓升,百度以后發(fā)現(xiàn),微信小程序 @font-face 里 添加url地址沒用蕴轨, 所以 URL地址替換掉港谊,把字體轉(zhuǎn)成base64。發(fā)現(xiàn)是ok的橙弱。但是這個字體一定不能太大歧寺。1m左右就差不多了!<辍斜筐!在這里推薦一個字體包轉(zhuǎn)成base64的網(wǎng)站。https://transfonter.org/
3蛀缝、ios視頻播放問題:
ios視頻播放的時候顷链,小程序切到后臺,視頻自動暫停了屈梁,再打開嗤练,依然不會重新播放。如果做的小程序有控制按鈕俘闯,這個問題自然不是問題潭苞,但是,如果做的小程序是全屏播放的真朗,而且是此疹,沒有控制按鈕的,這個就是個大問題了。沒法控制播放蝗碎,視頻又是全屏的湖笨,這樣用戶會以為卡了。其實沒有卡蹦骑,只是視頻暫停了慈省。這個問題的解決方案是:
定義兩個開關(guān),一個是a眠菇,一個是b边败。a是檢測視頻是否播放完畢,b是檢測用戶是否切到后臺捎废,兩者都是false笑窜,當(dāng)用戶從小程序切到后臺的時候,觸發(fā)的是onhide登疗,這個時候把b變?yōu)閠rue排截,而且是在視頻播放的時候,也就是說在a為false的前提下辐益,把b變?yōu)閠rue断傲。當(dāng)用戶切會前臺的時候,判斷b為true的時候智政,播放視頻认罩,在視頻播放完畢以后把a(bǔ)變?yōu)閠rue,b變?yōu)閒alse女仰。就ok了猜年;
邏輯很清晰,然而理想很豐滿疾忍,現(xiàn)實很骨感。不行床三,為什么呢一罩,因為,小程序從后臺切到前臺的時候撇簿,需要反應(yīng)時間聂渊,上來就執(zhí)行播放的函數(shù),是不行的四瘫。加一個settimeout就可以了汉嗽。。找蜜。
4饼暑、ios視頻左右滑動會出現(xiàn)時間。
ios在播放視頻的時候,雖然視頻沒有控件弓叛,但是左右滑動的時候彰居,會出現(xiàn)時間,好像左右滑動可以控制視頻的進(jìn)度似的撰筷,但是視頻的進(jìn)度并沒有改變陈惰,這個問題雖然小,不影響功能毕籽,但是影響用戶的體驗抬闯。
解決的方案是:既然不想要操控你,可以把這個視頻覆蓋住关筒,不讓用戶操控就行了溶握。但是video組件有一個特性,那就是層級最高平委,不是z-index就能解決的奈虾。微信小程序里提供了,cover-view和cover-image 來解決這個問題廉赔。但是要嵌套的video組件的里面肉微。這樣就可以了。
5蜡塌、video組件的注意點:
因為遇到過一個需求就是在視頻播放完以后碉纳,要有評論的輸入框。本來沒有多想馏艾,做下來才發(fā)現(xiàn)劳曹,video組件是一個坑,微信小程序提供了cover-view和cover-image這兩個可以覆蓋在原生組件之上的琅摩,我本來是想在cover-view里嵌套textarea然而铁孵,現(xiàn)實很打臉,報錯了房资。蜕劝。。
沒辦法轰异,這個只能改需求了岖沛。
所以說,這個是一個很大的坑搭独,如果遇到客戶提這樣子的需求婴削,就要趕緊拒絕吧。牙肝。唉俗。