-
文章列表rich-text的圖片寬度問題
效果如下2. 在js中處理返回的數據,但是增加了處理成本(采用此解決方案)
that.setData({ contents: res.data.contents.replace(/\<img/gi, '<img style="max-width:100%;height:auto"') }) -
關於跳轉外部頁面的處理
百度小程序給出了web-view這個標簽來跳轉外部的鏈接,但是web-view是自動打開新的頁面,無法做到點擊某個圖片或者button,跳轉打開新的頁面
由於小程序所有的跳轉都是通過navigateTo這個對象來進行跳轉的,但是這個對象只能跳轉小程序內的page頁面或者其他的百度小程序
所以解決方案是,寫一個page做一個web-view的承載頁
而在調用頁,使用一個bindtap的方法執行page的切換,同時把要跳轉的url傳遞過去
-
還是web-view的問題,直接寫src的http鏈接是可以帶參數的,但是通過調用中間頁url的參數會報錯,原因是傳參會解析url 問號后邊的參數,解決方法是先encodeURLComponent 一下
- 關於外部字體的引入
視覺中有關於特殊字體的引入 - 標簽支持較少 只能限制使用view template button text等幾個 ul li 等都不支持使用
- 不支持根據數據動態引入template 如<template is="template-{{id}}"></template>
解決方案: 根據block 判斷加載不同的template<block s-if="{{ id == 1}}"><template is="template-1" data="{{{...detail}}}" /></block>
button 等標簽自帶默認樣式
需要在css文件中覆蓋 最好寫一個reset的重置樣式表將button等需要自定義的標簽重置掉
rich-text 遇到不識別的標簽會停止渲染,並且不報錯
rich-text 僅支持常規的標簽 在聯調中后端返回了一個無法識別的link標簽- 異步接口返回到渲染有時間延遲,可以加一個中間的過度頁面
- 關於自定義導航欄沒有返回按鈕
視覺希望的效果是這樣,也就是頁面的元素頂到導航欄的下邊,同時導航欄是透明的,這樣頁面看起來更漂亮一些
開啟后發現導航欄是透明了,視頻頁頂頭了,但是沒有了返回按鈕(令人窒息),所以只能自己寫一個。
懸浮在video等原生組件的上層只能使用cover-view或者cover-image標簽 - 小程序跳轉小程序
這算是小程序向站外跳轉的第二種,也就是除了跳第三方H5頁面,這次是跳其他的小程序,針對跳其他的小程序,百度小程序給了自己的api
視覺是需要視頻類的頂頭,所以需要設置當前頁的nav的屬性為custom
但是新的問題又來了,設置為custom后需要自定義返回按鈕,而且這個按鈕還必須要加在video組件上邊,所以只能在video組件中使用cover-view
在真機測試前都是正常的,模擬器也是正常的顯示,但是實際機器測試時發現 ios可以正常顯示,並且可以正常返回,但是在安卓上,進入頁面后,左上角的返回按鈕會逐漸消失,相當於是被視頻組件遮擋了
還有就是 在安卓下 視頻全屏播放,返回按鈕就會出現,直接從全屏返回會直接返回首頁,而不是返回當前列表頁面,點擊自帶的返回按鈕返回到列表,安卓下的返回按鈕又出現了,並且可以正常點擊。
個人猜測,1是cover+view+自定義導航欄+原生video標簽導致層級問題,也嘗試調過層級,但是不生效。
個人猜測,原生組件的層級是1,cover-view的層級可能就是2,但是導航欄區域的層級其實才是全局最高的可能是3,而自己加了的cover-view剛好就在這之間,所以失效了
目前已經提bug給百度小程序開發組
13 還是rich-text組件,目前總結下遇到的問題
13.1 返回rich-text無法識別的標簽 整個頁面停止渲染(這個也只能靠前端發現一個替換一個,比如遇到的section標簽,統一替換成p,但是有些自定義的標簽,比如說一些表情,目前 無法替換)
13.2 第三方抓取的標簽不完整,比如缺少了一個</p>也是無法渲染的(這個只能發現一篇,下線一篇,目前沒有什么好的方法)
13.3 空的標簽是占位置的,這個前端replace把所有的空的html標簽都切掉