pc端富文本编辑的字符串在手机端适配

此方法依赖于lib-flexible,直接替换其中的字符串就可以了

		 transformHtmlStr(str) {
                let vm = this;
                const ZPXRegExp = /(\d+)px/;
                let pxGlobalRegExp = new RegExp(ZPXRegExp.source, 'ig')
                if (pxGlobalRegExp.test(str)) {
                    // px转换vw,核心部分
                    let dataDpr = document.documentElement.getAttribute("data-dpr");
                    let rootSize = parseFloat(document.documentElement.style.fontSize) ;
                    let $_source = str.replace(pxGlobalRegExp, vm.createPxReplace(dataDpr,rootSize))
                    // 转换之后替换回source中,返回函数值
                    return str.replace(str, $_source)
                } else {
                    //没有就不转,直接返回
                    return source
                }
            },
            createPxReplace (dataDpr,rootSize) {
                return function ($0, $1) {
                    if (!$1) return
                    var pixels = parseFloat($1)
                    return (pixels*dataDpr/rootSize).toFixed(2)+'rem';
                }
            },
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值