volantis-x / hexo-theme-volantis

A Wonderful Theme for Hexo.
https://volantis.js.org
MIT License
1.98k stars 596 forks source link

【反馈】:一个关于js的api在浏览器之间的兼容性问题 #874

Closed lovelyJason closed 1 year ago

lovelyJason commented 1 year ago

检查清单

复现地址

No response

复现步骤

兄弟们,我又来提bug了。

这次的问题是我发现我的博客在我手机上出现了一些莫名的问题,交互不成功。只有在手机chrome浏览器下有这个问题,电脑手机其他浏览器未发现。一开始我以为是浏览器缓存,后来发现不对劲

先看图

image

我为什么要打印这个api,因为我发现我在用手机远程调试的时候报了这个错

image

难道是手机chrome浏览器上没有字符串的replaceAll方法?

我各自查看了pc和我手机chrome上的字符串支持哪些方法

pc chrome:

image

尊贵的华为mate40 pro的chrome:

cbf5139f13e1d7f25327189f1efe8e2

嗯,显而易见的就是我这个版本的chrome的 v8的字符串原型链上没有replaceAll这个方法, 因此你们主题里面这串代码报了错

image

代码中断, 很多地方都会挂掉呀。

我用can I use查了一下这个js的api兼容性

image

我再看一下我mate40 pro chrome的版本

34d6774ebc12537afa19efd31996056

兄dei们,这谁顶得住啊,安卓的chrome至少要112才能支持这个api,很多手机是做不到的啊,100多版本应该还是比较新的吧

目前来讲,对字符串的操作应该使用replace正则规则进行全文替换,这个replaceAll方法太新了

我发现升级了volantis以后,有些地方交互都动不了,应该也是api的关系,我在想,是不是可以借助polyfill将代码转化为ES5,就像webpack那么玩。🙂 我得研究一下

a

有点崩溃😪

配置文件

跟配置文件无关

环境信息

跟环境也无关,主要是浏览器兼容性问题

Tikas commented 1 year ago

赶快升级,不然会有 v8 执行漏洞

回到题内:这实在是太高级了,我小小菜鸟还是先闪吧

lovelyJason commented 1 year ago

赶快升级,不然会有 v8 执行漏洞

回到题内:这实在是太高级了,我小小菜鸟还是先闪吧

什么执行漏洞?

lovelyJason commented 1 year ago

赶快升级,不然会有 v8 执行漏洞

回到题内:这实在是太高级了,我小小菜鸟还是先闪吧

而且这玩意是升级不了的哦。安卓的chrome浏览器是从应用市场比如腾讯应用宝之类的下的,比如华为官方市场是没有这个软件的。那回到腾讯应用宝上来说,他的chrome官方最新版本就是78.0.3904.96.还是2021年上传的,这么多年都没更新了。

说句题外话。国内的很多套壳浏览器诸如qq浏览器,里面的内核都不会随便升级的。

Tikas commented 1 year ago

赶快升级,不然会有 v8 执行漏洞 回到题内:这实在是太高级了,我小小菜鸟还是先闪吧

什么执行漏洞?

CVE-2023-2033

inkss commented 1 year ago

安卓的话倒是可以尝试升级Android system webview,replaceAll 不是好早之前就有的方法了吗?85吧