不是专业搞前端,在耕田过程(vue3, es5),发现做好的界面在PC版微信内置浏览器中打不开(打开空白,什么都冇有),在edge,chrome都正常,手机端也都正常。
解决思路:
1、直接在PC版微信内置浏览器中调试
结论:无能为为。微信是最新的 3.7.0.29版本,网上没找到相应的打开devTools的方法。
2、研究内置浏览器是什么内核,用相同内核浏览器瞧瞧是什么问题
结论:可行!
常见在线查看浏览器内核网址:
将以上三个网址随便找个人发送,然后,直接在电脑版微信点击打开。
对!我都打不开!!!(气死!)换一个:
好,终于打开了。
外壳:chrome 81.0.4044.138
挺旧的。上网下载个绿色版(便携版)
打开网址,查看console:
原因一下子就造了;
replaceAll在老古董中,不支持。
但replaceAll也有很多坑,传统用正则表达式的方式 (/g),网上大部分代码都没有对要替换的字符中的正则符号做转义处理。
这里顺便贴个代码:
if (typeof String.prototype.replaceAll == "undefined") {
String.prototype.replaceAll = function(match, replace) {
const reg = match.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
return this.replace(new RegExp(reg, 'g'), replace);
}
}
代码来源:How to replace all occurrences of a string in JavaScript - Stack Overflow
我直接放到 main.js 最下方了。
然后就完美解决了!
// 文章随意转载,转载后出名了,帮助了更多人,不把原作者供出来就行了