最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信小程序實現富文本圖片寬度自適應的方法

 更新時間:2019年01月20日 11:36:09   作者:孟小歡  
小程序里圖片會顯示不全,這時就應該做相應的處理,使小程序里圖片顯示正確,這篇文章主要介紹了微信小程序實現富文本圖片寬度自適應的方法,感興趣的小伙伴們可以參考一下

引言:在微信小程序里,比如商品展示頁面的商品詳情會有圖片展示,PC端設置的商品詳情是PC端的寬度,所以在小程序里圖片會顯示不全,這時就應該做相應的處理,使小程序里圖片顯示正確

思路

  • 把圖片的寬度改為手機屏幕對應的寬度

微信小程序需要知道的知識

  • 需要知道微信小程序里有自己的寬度標準,單位為rpx;
  • 針對所有不同尺寸的瀏覽器,微信小程序里規(guī)定屏幕寬為750rpx;

解決

WXML

<view class='html_detail'>
  <rich-text nodes='{{artical}}'></rich-text>
</view>

WXS

data={artical:''}

async onLoad(){
  const json = await api.getDetail();
  if(json !== null){
    this.artical = util.formatRichText(json.detail.description);
  }
}

若artical里只有圖片,并且圖片沒有設置style和寬度/高度

util.js

function formatRichText(html){
  let newContent= html.replace(/\<img/gi, '<img style="max-width:100%;height:auto;display:block;"');
  return newContent;
}

module.exports = {
  formatRichText
}

若artical里包含多種標簽

util.js

/**
 * 處理富文本里的圖片寬度自適應
 * 1.去掉img標簽里的style、width、height屬性
 * 2.img標簽添加style屬性:max-width:100%;height:auto
 * 3.修改所有style里的width屬性為max-width:100%
 * 4.去掉<br/>標簽
 * @param html
 * @returns {void|string|*}
 */
function formatRichText(html){
  let newContent= html.replace(/<img[^>]*>/gi,function(match,capture){
    match = match.replace(/style="[^"]+"/gi, '').replace(/style='[^']+'/gi, '');
    match = match.replace(/width="[^"]+"/gi, '').replace(/width='[^']+'/gi, '');
    match = match.replace(/height="[^"]+"/gi, '').replace(/height='[^']+'/gi, '');
    return match;
  });
  newContent = newContent.replace(/style="[^"]+"/gi,function(match,capture){
    match = match.replace(/width:[^;]+;/gi, 'max-width:100%;').replace(/width:[^;]+;/gi, 'max-width:100%;');
    return match;
  });
  newContent = newContent.replace(/<br[^>]*\/>/gi, '');
  newContent = newContent.replace(/\<img/gi, '<img style="max-width:100%;height:auto;display:block;margin-top:0;margin-bottom:0;"');
  return newContent;
}

module.exports = {
  formatRichText
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Bootstrap table 定制提示語的加載過程

    Bootstrap table 定制提示語的加載過程

    bootstrap-table是在bootstrap-table的基礎上寫出來的,專門用于顯示數據的表格插件。這篇文章主要介紹了Bootstrap table 定制提示語,需要的朋友可以參考下
    2017-02-02
  • javascript實現劃詞標記劃詞搜索功能修正版

    javascript實現劃詞標記劃詞搜索功能修正版

    javascript實現劃詞標記劃詞搜索功能修正版...
    2006-12-12
  • Three.js開發(fā)實現3D地圖的實踐過程總結

    Three.js開發(fā)實現3D地圖的實踐過程總結

    這篇文章主要給大家介紹了關于利用Three.js開發(fā)實現3D地圖的實踐過程,文中通過示例代碼介紹的非常詳細,對大家學習或者使用three.js具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-11-11
  • Javascript進制轉換實例分析

    Javascript進制轉換實例分析

    這篇文章主要介紹了Javascript進制轉換方法,實例分析了javascript實現進制轉換的技巧,需要的朋友可以參考下
    2015-05-05
  • js實現tab切換效果實例

    js實現tab切換效果實例

    這篇文章主要介紹了js實現的tab標簽切換效果,功能非常簡單,實現了點擊切換的效果,推薦給大家,有需要的小伙伴可以參考下。
    2015-09-09
  • JavaScript 布爾操作符解析  && || !

    JavaScript 布爾操作符解析 && || !

    在一門編程語言中,布爾操作符的重要性堪比相等操作符。如果沒有測試兩個值關系的能力,那么諸如if...else和循環(huán)之類的語句就不會有用武之地了。布爾操作符一共有3個: 非、與、或
    2012-08-08
  • JavaScript實現網頁計算器功能

    JavaScript實現網頁計算器功能

    這篇文章主要為大家詳細介紹了JavaScript實現網頁計算器功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • 詳解JavaScript面向對象實戰(zhàn)之封裝拖拽對象

    詳解JavaScript面向對象實戰(zhàn)之封裝拖拽對象

    本文主要介紹了JavaScript如何用面向對象的方式封裝拖拽對象,通過3種方式來實現,幫助讀者更好的理解其原理
    2021-06-06
  • Bootstrap打造一個左側折疊菜單的系統(tǒng)模板(一)

    Bootstrap打造一個左側折疊菜單的系統(tǒng)模板(一)

    這篇文章主要介紹了Bootstrap打造一個左側折疊菜單的系統(tǒng)模板(一)的相關資料,需要的朋友可以參考下
    2016-05-05
  • 服務端預渲染之Nuxt(使用篇)

    服務端預渲染之Nuxt(使用篇)

    這篇文章主要介紹了服務端預渲染之Nuxt(使用篇),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04

最新評論

渝中区| 盖州市| 进贤县| 德兴市| 萨迦县| 册亨县| 溧水县| 克拉玛依市| 定日县| 新巴尔虎左旗| 德江县| 专栏| 门头沟区| 郎溪县| 石阡县| 武汉市| 兴和县| 沙湾县| 临桂县| 郧西县| 兴安县| 珲春市| 石首市| 高清| 宁阳县| 龙里县| 北京市| 林口县| 孝感市| 九龙城区| 磴口县| 灵丘县| 陈巴尔虎旗| 景宁| 奇台县| 茌平县| 武冈市| 观塘区| 花莲县| 斗六市| 石阡县|