整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          rich-text無法解析link標簽

          本文鏈接:

          展開

          小程序的rich-text富文本標簽不支持link標簽,這就導致我們從京東商城拿到的商品詳情富文本無法解析。

          rich-text組件用法

          小程序商城對接京東商城商品,拿到的京東商品詳情的富文本數據格式如下:

          小程序富文本解決方案_富文本原理_富文本存儲方案

          我們可以看到,拿到的商品詳情并不是我們所想的img標簽 而是通過link標簽再次去請求css樣式,可以看出上面有多個div,這也就是說明了圖片是通過div當成背景圖渲染出來的,我們來看看link的樣式,看下圖:

          富文本原理_富文本存儲方案_小程序富文本解決方案

          這就導致小程序無法解析京東的商品詳情數據,我們直接來看解決辦法,目前我想到的有兩個解決方案,我們先來看最簡單的第一個(我目前已經實現的方案)

          第一方案:小程序實現的完整代碼

          
           
           
          1. if(that.dataObj.warehouseContent){
          2. // 匹配link標簽href屬性的值
          3. let css = that.dataObj.warehouseContent.match( //)[ 1]
          4. wx.downloadFile({
          5. url: `https:${css}`, // 把京東的css下載到本地
          6. success (res) {
          7. if (res.statusCode === 200) {
          8. // 讀取本地文件內容
          9. wx.getFileSystemManager().readFile({
          10. filePath:res.tempFilePath, // 本地css文件地址
          11. encoding: 'utf8', // 通過utf8解析
          12. success(data){
          13. if(!data.data){
          14. return
          15. }
          16. // 匹配url的內容 匹配出來的格式是---> url(xxx.jpg)
          17. let matchData = data.data.match( /url\((.+?)*\)/g )
          18. let imgs = ''
          19. for( let matchDataIndex in matchData){
          20. // 去掉‘url(’,轉換后的格式是---> xxx.jpg)
          21. let oneSubstr = matchData[matchDataIndex].substr( 4)
          22. // 去掉最后的)括號 轉換后的格式是---> xxx.jpg
          23. 小程序富文本解決方案_富文本存儲方案_富文本原理

            let twoSubstr = oneSubstr.substr( 0,oneSubstr.length -1)
          24. // 然后把圖片url拼接到img標簽上 轉換后的格式是---> 富文本原理_富文本存儲方案_小程序富文本解決方案
          25. imgs+= `富文本存儲方案_小程序富文本解決方案_富文本原理${twoSubstr}">`
          26. }
          27. that.dataObj.warehouseContent = that.dataObj.warehouseContent + imgs
          28. that.$apply()
          29. },
          30. fail(err){
          31. console.log( 'err',err)
          32. }
          33. })
          34. }
          35. }
          36. })
          37. }

          上面是實現功能的完整代碼

          下面是對代碼的分析

          that.dataObj.是京東商品詳情富文本內容,我們先通過正則表達式解析把link標簽的href屬性值解析出來(變量:css),然后下載(wx.)京東的css樣式文件到本地,不懂wx.怎么使用的可以移步到微信小程序官方api文檔

          富文本原理_富文本存儲方案_小程序富文本解決方案

          點擊了解:wx.使用方法

          res.是css文件下載到本地文件所在的位置,再通過文件管理器讀取本地文件內容,我們需要讀取css文件的樣式內容

          
           
           
          1. wx.getFileSystemManager().readFile({
          2. filePath:res.tempFilePath, // 本地css文件地址
          3. encoding: 'utf8', // 通過utf8解析
          4. success(data){
          5. console.log( '拿到css文件內容:',data.data)
          6. },
          7. fail(err){
          8. console.log( 'err',err)
          9. }
          10. })

          富文本存儲方案_小程序富文本解決方案_富文本原理

          關于文件管理器(wx.)的用法請移步到微信小程序官方api:點擊了解:wx.使用方法

          data.data是我們的樣式內容,這個時候我們使用正則把圖片url匹配下來,重新拼接到img標簽上:

          
           
           
          1. // 匹配url的內容 匹配出來的格式是---> url(xxx.jpg)
          2. let matchData = data.data.match( /url\((.+?)*\)/g )
          3. let imgs = ''
          4. for( let matchDataIndex in matchData){
          5. // 去掉‘url(’,轉換后的格式是---> xxx.jpg)
          6. let oneSubstr = matchData[matchDataIndex].substr( 4)
          7. // 去掉最后的)括號 轉換后的格式是---> xxx.jpg
          8. let twoSubstr = oneSubstr.substr( 0,oneSubstr.length -1)
          9. // 然后把圖片url拼接到img標簽上 轉換后的格式是---> 富文本原理_富文本存儲方案_小程序富文本解決方案
          10. imgs+= `富文本存儲方案_小程序富文本解決方案_富文本原理${twoSubstr}">`
          11. }
          12. // 處理好的圖片數據重新賦值回去
          13. that.dataObj.warehouseContent = that.dataObj.warehouseContent + imgs

          如果有不理解的可以看看我在代碼上面寫的注釋,或者在下方評論。

          方案二(還未實踐,稍微復雜,但是實現的最終效果一樣)

          我們知道,小程序rich-text組件并不支持link標簽和style標簽,我嘗試過下載京東的樣式文件到本地,通過這里插入京東的樣式文件,然后拼接到富文本內,但是這個方法并不可行,因為小程序rich-text組件不支持style標簽,但是還有一種稍微復雜的方案,我們用正則匹配把每個類名對應花括號里面的樣式解析下來,然后再渲染進div標簽的style屬性內,這種方式是可行的,但是會復雜一些,我們來看一下結構

          
           
           
          1. .ssd-module-wrap .ssd-module,
          2. .ssd-module-wrap .ssd-module-heading {
          3. width: 640px;
          4. position: relative;
          5. overflow: hidden;
          6. }

          
           
           
          1. <div class="ssd-module" style="width: 640px;position: relative;overflow: hidden;"> div>
          2. <div class="ssd-module-heading" style="width: 640px;position: relative;overflow: hidden;"> div>

          目前想到實現的方式就這兩種,希望能幫助到你們!

          另外你們可以關注下我的微信個人公眾號“程序員小鴻”,有什么問題直接來公眾號留言扣我喲!

          中國移動電話手表免費送的套路

          近期中國移動推出防走失公益活動,電話手表免費送。經過搜索發現,網絡上有很多的類似消息,騙子公司冒充公益活動對消費者實施欺詐,對我們的這個公益項目產生較大的影響,特此截圖網絡上流行的騙術,大家需要防范!

          1、百度搜索截圖,全是騙子的行騙方式,大家特別注意,不要入坑!

          手表辦兒童卡電話要錢嗎_兒童電話手表要辦卡嗎_辦理兒童電話手表的卡需要什么

          2、隱性捆綁消費,害人不淺。

          手表辦兒童卡電話要錢嗎_辦理兒童電話手表的卡需要什么_兒童電話手表要辦卡嗎

          3、承諾最低消費,否則違約了要繳納巨額費用。

          辦理兒童電話手表的卡需要什么_手表辦兒童卡電話要錢嗎_兒童電話手表要辦卡嗎

          4、用幾塊錢的虛假手表模型,讓客戶繳納巨額的快遞費,實施詐騙。

          兒童電話手表要辦卡嗎_手表辦兒童卡電話要錢嗎_辦理兒童電話手表的卡需要什么

          5、又是一個兩年合約的隱形消費,害人不淺!

          辦理兒童電話手表的卡需要什么_兒童電話手表要辦卡嗎_手表辦兒童卡電話要錢嗎

          6、新聞報道詐騙詳情

          兒童電話手表要辦卡嗎_辦理兒童電話手表的卡需要什么_手表辦兒童卡電話要錢嗎

          手表辦兒童卡電話要錢嗎_辦理兒童電話手表的卡需要什么_兒童電話手表要辦卡嗎

          上面這些是當前市場上的欺詐行為的總結,請大家不要入坑!

          中國移動防走失寶貝計劃公益行, 兒童電話手表免費!送請認準正規平臺,以免上當受騙。

          正規活動宣傳單頁正面

          辦理兒童電話手表的卡需要什么_手表辦兒童卡電話要錢嗎_兒童電話手表要辦卡嗎

          正規活動宣傳單頁反面

          兒童電話手表要辦卡嗎_辦理兒童電話手表的卡需要什么_手表辦兒童卡電話要錢嗎

          中國移動公益行

          電話手表免費送

          兒童電話手表專屬套餐

          每個月300分鐘+300M

          150元6個月,200元12個月

          手表辦兒童卡電話要錢嗎_兒童電話手表要辦卡嗎_辦理兒童電話手表的卡需要什么

          現場免費選號、免費辦卡、為保護家長隱私無需實名、充值相應套餐, 即可獲得圖片同款電話手表

          兒童電話手表要辦卡嗎_手表辦兒童卡電話要錢嗎_辦理兒童電話手表的卡需要什么

          手表辦兒童卡電話要錢嗎_辦理兒童電話手表的卡需要什么_兒童電話手表要辦卡嗎

          兒童電話手表要辦卡嗎_辦理兒童電話手表的卡需要什么_手表辦兒童卡電話要錢嗎

          明明白白消費,絕無套路,絕無隱形消費,1年內不用繳納任何費用,不做任何捆綁,電話手表(智能防水電話手表)+電話卡(中國移動卡)+電話費(充值的專屬套餐)=通通都是你的,質量問題只換不修,續費以舊換新!

          我們的愿望是讓中國的每一個兒童,不論是市區縣城還是農村鄉鎮和山村家庭,都能擁有屬于自己的兒童智能電話手表。

          辦理兒童電話手表的卡需要什么_兒童電話手表要辦卡嗎_手表辦兒童卡電話要錢嗎

          手表辦兒童卡電話要錢嗎_辦理兒童電話手表的卡需要什么_兒童電話手表要辦卡嗎


          主站蜘蛛池模板: 射精专区一区二区朝鲜| 国产伦精品一区二区| 无码日韩精品一区二区三区免费| 国模大胆一区二区三区| 天美传媒一区二区三区| 日本一区二区三区在线观看视频| 国产女人乱人伦精品一区二区| 精品国产一区二区三区| 日韩在线一区高清在线| 加勒比精品久久一区二区三区| 国产一区二区三区不卡在线看| 无码视频一区二区三区| 精品一区二区三区无码免费直播| 一区二区三区四区在线视频| 精品亚洲一区二区三区在线观看| 三上悠亚日韩精品一区在线| 国产免费一区二区视频| 日本一区频道在线视频| 日韩电影在线观看第一区| 亚洲国产精品一区二区第一页| 日韩精品一区二区三区老鸭窝 | 变态拳头交视频一区二区| 久久久久人妻精品一区二区三区| 无码精品一区二区三区| 成人精品视频一区二区三区不卡| 日本一区二区三区爆乳| 一区二区三区日本视频| 亚洲熟女综合一区二区三区| 国产日韩一区二区三免费高清| 成人区精品一区二区不卡亚洲| 亚洲性日韩精品一区二区三区| 亚洲色精品VR一区区三区 | 91午夜精品亚洲一区二区三区 | 国产精品视频一区麻豆| 国产精品无码一区二区三区电影| 国产福利一区二区| 无码视频免费一区二三区| 久久久久人妻一区二区三区| 3d动漫精品啪啪一区二区免费| 视频一区二区在线播放| 日韩精品久久一区二区三区|