首先祝各位雞年大吉镊掖,開工大吉!
趁著今天剛開工褂痰,工作任務(wù)還不多亩进,可以繼續(xù)學些Weex。
春節(jié)在家無聊的時候缩歪,繼續(xù)跟進了一下Weex的學習归薛,主要把“關(guān)于我”這個Page進行了一些優(yōu)化,這里主要是一些體力活匪蝙,并沒有太多可說的主籍,簡單總結(jié)以下幾點:
- Weex中所有的文字都要放在<text></text>這個標簽里,在普通的網(wǎng)頁開發(fā)甚至Vue開發(fā)中逛球,我偶爾會直接把文字放在div標簽里千元,但是Weex中并不識別這樣的語法。
- Weex的頁面布局雖然也使用css語法颤绕,但是與Vue以及普通頁面并不完全相同诅炉,我試驗了一下蜡歹,text-align:center必須用在text標簽上,才能使文字居中涕烧,但是因為HTML并沒有這個標簽月而,所以要加載文字所在的父標簽上,這個要注意议纯,另外就是建議在Weex中多應(yīng)用flex布局父款。
外部鏈接問題
在“關(guān)于我”這個page中,有一個需求瞻凤,就是鏈接到外部網(wǎng)站憨攒,因為之前缺少APP開發(fā)經(jīng)驗,所以我想當然地認為這個問題非常簡單阀参,只需要價格a標簽肝集,或者像Vue一樣采用Router的方法就可以了,但是后來發(fā)現(xiàn)這樣并不能正常work蛛壳。
仔細一看杏瞻,Demo中所有Router都是鏈接到項目內(nèi)部頁面的,看地址欄上每個頁面其實都是一個經(jīng)過build的Js文件衙荐,這點應(yīng)該和Vue是類似的捞挥,但這個并不符合我的需求,并且外部網(wǎng)站是傳統(tǒng)的靜態(tài)頁面忧吟,因此還是需要解決砌函。
首先抓包看看訪問的URL是否正確:
由上圖看 http://m.feiniu.com/my/order/index.html 這個請求地址應(yīng)該沒有錯,所以有可能是兼容問題溜族。
于是嘗試捕捉error
<web class="content" id="webview" src='https://m.taobao.com/?spm=0.0.0.0&v=0#index' onpagestart="startload" onpagefinish="finishload" onerror="failload"></web>
startload: function(e) {
modal.toast({ message: 'pagestart' })
},
finishload: function(e) {
modal.toast({ message: 'finishload' })
},
failload: function(event) {
modal.toast({ message: event })
}
使用不同的機器進行測試讹俊,安卓手機觸發(fā)到了finishload事件,而IPHONE觸發(fā)了failload事件煌抒,但是兩個手機都無法正常顯示網(wǎng)頁仍劈。
最后我在官方文檔中查到這個:
web組件要求的weex版本是v0.5+,但是我的項目中用的是v0.32的摧玫,所以說看起來還是得仔細查查手冊啊,之前在Vue項目中也碰到過這種組件兼容性問題绑青。
目前懷疑就是這個問題導致無法正常使用webview(未完待續(xù))诬像。