在用uni-app开发H5项目时出现了这样的一个问题:
【场景描述】
由于业务需要,需要在有渲染后端返回的富文本内容时对内容做一个处理,将域名 dcs-new.cmbchina.cn 替换为 dcs-uat.cmbchina.com:8080,一开始用的是replaceAll的方法,具体写法如下:
//vue文件
this.article = this.article.replaceAll(sysVars.oldPageUrl, sysVars.newPageUrl);
//public文件夹下的static文件夹下的js文件夹下的config.js文件
window.sysVars = {
//旧地址
oldPageUrl: 'dcs-new.cmbchina.cn',
//新地址
newPageUrl: 'dcs-uat.cmbchina.com:8080'
}
【注】config.js文件的配置可在部署时配置
【问题】
replaceAll方法并不兼容所有的手机,比如小米手机就会因为使用该方法导致内容无法显示
【解决方案】
将replaceAll方法换成replace,具体代码如下:
this.article = this.article.replace(/dcs-new.cmbchina.cn/g, 'dcs-uat.cmbchina.com:8080');