欧美日韩中文字幕一区二区高清_人与性动交aaaabbbb_国产一区二区三区四区五区加勒比_国产成人综合欧美精品久久_99久久国产宗和精品1上映_日本丰满人要无码视频

18842388900

網站建設 APP開發 小程序

Article/文章

記錄成長點滴 分享您我感悟

您當前位置>首頁 > 知識 > 軟件開發

微信小程序中如何渲染html內容(代碼示例)

發表時間:2019-05-20 08:50:33

文章來源:沈陽網站建設

標簽:css html5 html

分享:

瀏覽次數:0

本篇文章給大家帶來的內容是關于微信小程序中如何渲染html內容(代碼示例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

大部分Web應用的富文本內容都是以HTML字符串的形式存儲的,通過HTML文檔去展示HTML內容自然沒有問題。但是,在微信小程序(下文簡稱為「小程序」)中,應當如何渲染這部分內容呢?

解決方案wxParse

小程序剛上線那會兒,是無法直接渲染HTML內容的,于是就誕生了一個叫做「 wxParse 」的庫。它的原理就是把HTML代碼解析成樹結構的數據,再通過小程序的模板把該數據渲染出來。

rich-text

后來,小程序增加了「rich-text」組件用于展示富文本內容。然而,這個組件存在一個極大的限制: 組件內屏蔽了所有節點的事件 。也就是說,在該組件內,連「預覽圖片」這樣一個簡單的功能都無法實現。

web-view

再后來,小程序允許通過「web-view」組件嵌套網頁,通過網頁展示HTML內容是兼容性最好的解決方案了。然而,因為要多加載一個頁面,性能是較差的。

當「WePY」遇上「wxParse」

基于用戶體驗和功能交互上的考慮,我們拋棄了「rich-text」和「web-view」這兩個原生組件,選擇了「wxParse」。然而,用著用著卻發現,「wxParse」也不能很好地滿足需要:

    我們的小程序是基于「WePY」框架開發的,而「wxParse」是基于原生的小程序編寫的。要想讓兩者兼容,必須修改「wxParse」的源代碼。

    「wxParse」只是簡單地通過image組件對原img元素的圖片進行顯示和預覽。而在實際使用中,可能會用到云存儲的接口對圖片進行縮小,達到「 用小圖顯示,用原圖預覽 」的目的。

    「wxParse」直接使用小程序的video組件展示視頻,但是video組件的 層級問題 經常導致UI異常(例如把某個固定定位的元素給擋了)。

    此外,圍觀一下「wxParse」的代碼倉庫可以發現,它已經兩年沒有迭代了。所以就萌生了基于「WePY」的組件模式重新寫一個富文本組件的想法,其成果就是「WePY HTML」項目。

    實現過程解析HTML

    首先仍然是要把HTML字符串解析為樹結構的數據,我采用的是「特殊字符分隔法」。HTML中的特殊字符是「<」和「>」,前者為開始符,后者為結束符。

    ?如果待解析內容以開始符開頭,則截取 開始符到結束符之間 的內容作為節點進行解析。
    ?如果待解析內容不以開始符開頭,則截取 開頭到開始符之前 (如果開始符不存在,則為末尾)的內容作為純文本解析。
    ?剩余內容進入下一輪解析,直到無剩余內容為止。
    正如下圖所示:

    13133049-23db30359eab3e6e.png

    為了形成樹結構,解析過程中要維護一個上下文節點(默認為根節點):

    ?如果截取出來的內容是開始標簽,則根據匹配出的標簽名和屬性,在當前上下文節點下創建一個子節點。如果該標簽不是自結束標簽(br、img等),就把上下文節點設為新節點。
    ?如果截取出來的內容是結束標簽,則根據標簽名關閉當前上下文節點(把上下文節點設為其父節點)。
    ?如果是純文本,則在當前上下文節點下創建一個文本節點,上下文節點不變。
    過程正如下面的表格所示:

    13133049-4c044ef7a54fbf5f.png

    經過上述流程,HTML字符串就被解析為節點樹了。

    對比
    把上述算法與其他類似的解析算法進行對比(性能以「解析10000長度的HTML代碼」進行測定):

    13133049-ccb215322353e4c0.png

    可見,在不考慮容錯性(產生錯誤的結果,而非拋出異常)的情況下,本組件的算法與其余兩者相比有壓倒性的優勢,符合小程序「 小而快 」的需要。而一般情況下,富文本編輯器所生成的代碼也不會出現語法錯誤。因此,即使容錯性較差,問題也不大(但這是需要改進的)。

    模板渲染

    樹結構的渲染,必然會涉及到子節點的 遞歸 處理。然而,小程序的模板并不支持遞歸,這下仿佛掉入了一個大坑。

    css,html5,html

相關案例查看更多

主站蜘蛛池模板: 国产亚洲欧美一区二区三区四区_99热综合_一区二区精彩视频_欧美一二三四五六七区_日韩免费视频在线观看_四虎一区二区_影音先锋黄色网址_成人hd | 九九热九九_日韩精品一区二区三区九九_热久久思思_精品人妻系列无码一区二区三区_超碰福利在线_成人免费视频观看视频_免费无码黄动漫在线观看_欧美一区在线观看视频 | 无码国产一区二区三区四区_www.中文字幕在线观看_日韩欧美精品二区_91成人影院_巨茎爆乳无码性色福利_亚洲高清自拍_亚洲黄色免费网站_人妻aⅴ无码一区二区三区 | www久久久_78色淫网站女女免费_国产精品7区_九色视频免费观看_91精品观看91久久久久久国产_久草手机在线视频_久久国产劲暴∨内射新川_91久久人澡人人添人人爽爱播网 | 色综合中文字幕第二页_亚洲高清无在线码_国产超碰人人做人人爽Av_亚洲一区中文字幕在线观看_91网站免费观看_亚洲第一伊人_亚洲四区在线_AV无码人妻中文字幕 | 欧美a不卡_亚洲综合字幕_国产亚洲啪啪_麻豆视频91传媒视频在线观看_午夜男女很黄的视频_JAPANESEXXXX乱子伦_免费国精产品自偷自偷免费看_18禁黄污吃奶免费看网站 | 91爱国产_丰满少妇被猛烈进入高清播放软件_国产一区二区三区_久久亚洲国产_91香蕉亚洲精品_亚洲夜夜欢a∨一区二区三区_www.日本国产_亚洲一区二区中文播放av | 69re视频_最近更新中文字幕视频_护士奶头又白又大又好模_亚洲最新版av无码中文字幕一区_最近最好看的2018中文字幕_一区二区视频_熟妇女领导呻吟疯狂_亚洲成A∨人片在线观看无码 | 99久久自偷自偷国产精品不卡_性做久久久久免费观看_综合久久2o19_黄色动漫视频在线观看_欧美一级黄色片免费观看_手机看片久久国产免费_综合久久久久久久青青_欧美久久国产 | 久久免费资源_gratisvideos另类灌满_97偷自拍亚洲综合二区_国产女人啪啪_在线免费看a_日本公妇被公侵犯中文字幕2_精品自拍农村熟女少妇图片_中文字幕乱偷无码动漫av | 久久久久影视_欧美亚洲日本一区_国产精品久久久久久久免费_六月婷色_精品日韩在线视频_麻豆文化传媒www网站入口_精品国产美女a久久9999_亚欧美一区二区 | 又大又硬又爽又黄A片哪里看_精品国产日韩专区欧美第一页_成人在线精品_中文字幕久久久_日韩中文字幕国产_好硬啊进去太深了A片_年轻的朋友免费观看_xxxxwwww中国 | 欧美一级大片免费看_在线日韩小视频_精品无码久久久久久尤物_一道本AV免费不卡播放_91麻豆产精品久久久久久_毛片91_99久久99久久久精品齐齐_无码人妻丰满熟妇奶水区码 久久亚洲免费视频_韩国一级黄色录像_国产极品美女到高潮_妺妺窝人体色WWW视频_日韩精品真人荷官无码_日韩AV无码一网二网三网_91亚洲精品久久久久图片蜜桃_segui88久久综合9999 | 天天干天天做天天射_色狠狠av五综合久久久_暖暖免费一二三区在线_无尺码精品日本欧美_99久久免费看精品_小荡货腿张开给我cao免费视频_秋霞a级毛片在线看_亚洲欧洲在线视频 | 永久免费AV无码网站在线观看_成人三级在线_成人无码精品一区二区三区_成品片a免人视频_国产嫖妓一区二区三区无码_色欧美99_国产人妖在线播放_亚洲av人人澡人人爽人人夜夜 | 亚洲福利视频网址_一级做a爰片久久毛片免费看_成人aaaa免费全部观看_18禁无码永久免费无限制网站_久久AV无码专区亚洲AV桃花岛_国产50部艳色禁片无码_日本不卡一_777亚洲精品乱码久久久久久 | 亚洲a级免费视频_国产欧美xxxx6666_av在线播放中字_日本一区二区视频在线观看_美女毛片免费看_韩国免费视频_日韩精品无码人成视频手机_欧美黄色大片免费观看 | 永久av在线免费观看_后入内射国产一区二区_国产xxxxx精品av青椒_国产网红福利视频一区二区_成人福利在线播放_99视频_国产精品一区二区在线观看99_97视频一二区 | 日韩第2页_中文字幕欧美激情_中国嫩模一级毛片_国产美女在线播放_日本在线看片免费人成视1000_www嫩草_自拍偷拍一区二区三区四区_爱射综合网 一二三四视频社区在线播放中国_91视频免费在线看_色妹子综合网_亚洲中文字幕无线无码毛片_天天操狠狠操_a在线视频观看_日本xxxⅹ18一20岁_www.91精品视频 | 免费观看一区二区_亚洲欧美校园_亚洲AV中文无码字幕色下药_美女被按在床上_亚洲一久久_特黄一级性片看_国内a级毛片免费观看品善网_日本av中文字幕 | 日本一本二本三区免费免费高清_18禁免费无码无遮挡不卡网站_亚洲日韩欧美国产高清αv_挺进朋友人妻的身体里_国产高清av_国产一二在线_国产福利第一视频_国产麻豆91精品三级站 | 少妇与子乱在线观看_亚洲一二区在线_国产免费高清_丁香五月婷激情综合第九色_在线综合国产_精品性久久_亚洲AV无码精品国产成人_久久久精品人妻一区亚美研究所 | 日本三级香港三级人妇少妇_国内精品999_国产成人久久av免费高清蜜臀_奥门一级毛片_国产欧美日韩精品专区_国产精品禁漫天堂视频_国产午夜精品av一区二区_乳首av | 日韩和欧美一区二区_中国极品少妇xxxxx_久久国产精品二国产精品中国洋人_久久狼人大香伊蕉国产_欧美亚洲免费_一个色亚洲_成人欧美一区二区三区黑人牛_日本怡春院一区二区三区 | 免费A级毛片无码鲁大师_又爽又黄axxx片免费观看_热久热久_欧美videosdesexo肥婆_亚洲a在线观看_av毛片免费观看_爆乳熟妇一区二区三区_日美韩一区二区三区 | 久久久久久精品无码人妻_亚洲欧洲日韩精品中文字幕_国产乱一乱二乱三_在线观看国产成人无码_精品人在线二区三区_性爱国产精品福利_少妇自慰流白口浆21p_神马午夜精品 | 久久专区_少年巨茎征服熟女系列_亚洲色网址大全_亚洲国产精品自产在线播放_99久久久无码国产精品6_亚洲国产成人无码影片在线播放_女神异闻录5在线观看_日韩天天 | 精品人伦一区_高清一区二区三区四区_国产精品银行在线播放_一区二区三国产_欧美特黄一级_91亚洲精品视频_欧美精彩视频在线观看_色妺妺视频网 | 久久久国产视频91_亚洲国产AV美女网站_蜜臀av在线一区二区三区_超碰伊人久久_国产高清狼人香蕉在线_国产成人亚洲在线观看_亚洲欧美一级久久精品国产特黄_91pro国产福利网站www | 无码人妻黑人中文字幕_日韩欧美中文视频_国产精品无码无片在线播放_亚洲精品GV天堂无码男同_久久ri资源网_亚洲天堂男人影院_国产成人欧美视频在线观看_一本大道久久a久久精二佰 | 中字无码AV点击进入_国产麻豆成人传媒免费观看_亚洲精品成人AV在线观看爽翻_久久亚洲成人av_欧美videosdesexo吹潮_xxxxxx性受_精品一区二区久久久久黄大片_亚洲人av高清无码 | 久久久久久久久久久久91_中国孕妇变态孕交XXXX_国精品无码人妻一区二区三区_国产成人免费在线视频_成人免费看片_免费二区_91视频视频_亚洲2021av天堂手机版 | 成人做爰高潮片免费视频韩国_欧美一级黄色免费_日韩欧美一级片_超碰国产91_亚洲av无码专区亚洲av不卡_亚洲爱爱小视频_久久综合九色综合欧美就去吻_在线观看免费人成视频色9 | 中国日本在线视频中文字幕_a在线视频免费观看_午夜影院官网_在线不卡一区二区_黄色片网站日本_亚洲专区在线播放_娇妻被别人玩弄至高潮视频_久久91超碰人人澡人人爽 | 免费看片网站在线观看_久久国产天堂福利天堂_国产h在线_日本少妇被黑人xxxxx软件_色婷婷一区二区三区冲田杏梨_国产极品91_自拍亚洲伦理_夜夜欢天天干 | JAPAN日本人妻熟老太_欧美成人精品第一区二区三区_国产不卡在线_日日日操_国产精品久久a_日本成人在线网_爆乳护士一区二区三区在线播放_色综合视频一区中文字幕 | 91精彩视频_青草在线视频_69精品_女人18毛片水最多_噜啊噜在线成人A片观看_97色碰碰公开视频_色女人综合_成人在线视频一区 | 国产又黄又粗又爽又色的视频_亚洲视频在线不卡_国产a区b区_夜色99_曰韩精品一区二区_亚洲乱码国产乱码精品精软件_亚洲国产日韩一区二区三区_在线观看美女黄视频 | 九九热九九_日韩精品一区二区三区九九_热久久思思_精品人妻系列无码一区二区三区_超碰福利在线_成人免费视频观看视频_免费无码黄动漫在线观看_欧美一区在线观看视频 | 一二三四视频社区在线播放中国_91视频免费在线看_色妹子综合网_亚洲中文字幕无线无码毛片_天天操狠狠操_a在线视频观看_日本xxxⅹ18一20岁_www.91精品视频 | 国产九一视频_妺妺晚上吃我精子黄文_国产一级黄色片视频_裸体洗澡偷拍一区二区_亚洲熟妇自偷自拍另欧美_亚洲天堂av网_国产精品精东影业_日韩久久久久久久久久久 aaa在线观看_澳门黄色毛片_污网站在线浏览_91成人午夜在线精品_无码精品A片一区二区_AV在线播放日韩亚洲欧_久久久国产精品亚洲一区_色网站免费看 |