微信小程序踩坑

本次開發微信小程序第一個版本,遇到如下問題:

關于小程序里引入iconfont

原有H5項目中iconfont.css里@font-face 引用的ttf等文件在小程序中不支持(小程序里請求資源都是https),

解決方法:知乎上有篇文章建議使用工具將ttf文件轉化為base64格式存儲在本地; 

關于小程序里引入underscore

直接引入underscore會報錯,需要修改underscore源碼;

關于小程序里引用視頻和圖片url:

由于請求數據返回的圖片地址或者視頻地址通常不帶協議頭,都是例如下面的格式:

//files.iwjw.com/housecheckpc/2016/10/20/057e7f05b3684008b2d29a5217440842.s.iwjw

小程序里需要手動加入https協議頭,否則無法加載圖片或者視頻。

##關于小程序在真機預覽時IOS和安卓機樣式差別:

某些樣式在開發者工具、安卓真機、ios真機上,樣式有差距;同樣設置幾行文本,在IOS和安卓機上撐起來的高度是不一致的。開發者工具,ios,安卓上使用不同的內核,因此繪制頁面時,樣式差異較大。常常是ios樣式調整好了,在安卓上查看相差一像素,反之,在安卓上調整好了,Ios上相差一像素。

關于綁定事件,取數據時target與currentTarget的區別

注意event.target.dataset與event.currentTarget.dataset的區別:

target.dataset是取源組件上設置的數據集合,currentTarget.dataset是取當前組件上設置的數據集合。

關于將視頻嵌入到swiper組件

這里的應用場景是:

第一張是視頻,第二張往后是圖片。要求全部能輪播。在第一張時可以點擊按鈕播放視頻。

直接應用swiper組件存在的問題:IOS手機上播放視頻之后就不能繼續切換輪播圖片。安卓手機則可以。

嘗試了給video組件綁定事件、在video組件上添加按鈕切換圖片,但在小程序里都不能實現,按鈕設置高的z-index甚至不能懸浮于video組件上。

解決:修改交互邏輯,播放視頻采用dialog模式(視頻垂直居中,其余是蒙層),播放完畢回到圖片輪播模式。

關于小程序里上拉加載

列表頁上拉加載幾頁數據后,快速向上回滾,會出現白屏;暫時未解決。

關于無法獲取appservice

首次使用微信開發者工具時,如果打開了KX上網軟件,會報錯,提示無法獲取用戶信息,這時要先關掉KX上網軟件

總結小程序的那些限制:

  • 并發request請求不能超過5個;

  • 程序本身代碼資源文件大小限制在1MB 之內;

  • Page.prototype.setData單次設置的數據不能超過1024KB;

  • 手機預覽時,盡量將微信客戶端升級到最新, 官網要求6.3.27及以上,測試安卓機微信版本6.3.31也是不能預覽的;后統一升級到6.5.3版本。

  • 綁定開發者人數、體驗者人數也有限制;

  • 請求里合法域名有個數限制;

  • 頁面內跳轉不能超過5級;

總體而言,小程序開發上手比較簡單,但是由于多數使用封裝好的組件,或使用小程序提供的API,當出現bug時,不易定位,不易修改。

 

來自:https://segmentfault.com/a/1190000008063442

 

 本文由用戶 LanoraSolbe 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!