微信小程序的一些開(kāi)發(fā)限制整理:
1 、不支持HTML、沒(méi)有 Dom。網(wǎng)頁(yè)用的 JS、CSS 基本要全部重寫(xiě),WXML 的語(yǔ)法和 HTML 差異還挺大,基本是一個(gè)個(gè)照著手冊(cè)的屬性去改。CSS 選擇器不支持級(jí)聯(lián)。
2 、小程序源碼打包后的大小限制為1M,超大傳不上去。單次通過(guò) wx.request傳輸?shù)臄?shù)據(jù)最大也是1M。
3 、MINA 框架實(shí)現(xiàn)的 tab bar,最多5個(gè) tab;通過(guò) wx. navigateTo 推入后臺(tái)的頁(yè)面最多5層,超過(guò)會(huì)無(wú)法打開(kāi)新頁(yè)面。
4、小程序沒(méi)有 webview 控件,自帶的 view 和 text 又不支持圖文混排,還不能動(dòng)態(tài) set WXML …… 所以小程序上的富文本也就只能做到固定焦點(diǎn)圖+純文本+emoji了
5 、不支持 A 標(biāo)簽,無(wú)法打開(kāi)普通網(wǎng)頁(yè)。 只能通過(guò)綁定事件、等方式跳轉(zhuǎn)到j(luò)s,且不能在wxml 中直接添加鏈接。否則報(bào)錯(cuò)
6、js 多個(gè)逗號(hào)字符檢查嚴(yán)格,編譯時(shí)會(huì)報(bào)錯(cuò),目前更新到最新版暫未發(fā)現(xiàn)這個(gè)問(wèn)題了,wxml中注意標(biāo)簽開(kāi)始結(jié)束不能多< ,要成雙對(duì)不能多出來(lái)<否則報(bào)錯(cuò)
7、不支持html 中的<img>圖片標(biāo)簽,微信小程序中使用為<image>
開(kāi)發(fā)感受:整體開(kāi)發(fā)一個(gè)功能來(lái)說(shuō),尤其是做內(nèi)容型這塊,小程序本身被設(shè)計(jì)為處理簡(jiǎn)單邏輯的工具型應(yīng)用;同時(shí)還具有很強(qiáng)的內(nèi)容封閉性,這點(diǎn)在做爬蟲(chóng)處理的展示的時(shí)候,把抓取的內(nèi)容標(biāo)簽處理了一遍,這里的思路我是采用數(shù)組的方式定義兩組,第一組為開(kāi)始標(biāo)簽、第二組數(shù)組為結(jié)束標(biāo)簽、通過(guò)數(shù)組的形式進(jìn)去循環(huán)匹配替換,像有些特殊標(biāo)簽可以相應(yīng)進(jìn)行判斷處理。目前還在研究抓取的數(shù)據(jù)看看有沒(méi)有更好的方式進(jìn)行解決排版。