怎么让用户自愿升级浏览器,少扛几年兼容成本

发布于

chenjia404:

为旧内核养 polyfill、关新语法,才是前端里最贵的长期税。用户通常不知道自己的浏览器已经过时,强跳下载页又像在赶人。

我做了个可以嵌在自己站点里的接口,不用把用户转到我这边。前端直接 fetch,用访客 User-Agent 查这个版本还匹配多少已知 CVE,在你自己的页面上提一句就行。

```javascript
const res = await fetch("https://ismybrowsersafe.org/api/v1/lookup");
const data = await res.json();
if (data.ok && data.count > 0) {
// 例如:当前浏览器可能仍受 128 个已公开漏洞影响,建议升级
}
```

跨域可用,没有 API Key。不保存 UA,也不会利用漏洞。空口说「请升级」没体感,对着一堆已公开漏洞,用户更愿意自己升,你后面就能少兼容一批旧内核。

文档:[https://ismybrowsersafe.org/docs](https://ismybrowsersafe.org/docs)
检测站:[https://ismybrowsersafe.org/](https://ismybrowsersafe.org/)

---

原文链接:[点击查看](https://www.v2ex.com/t/1235420)

评论(8)

测了下不太准啊,我在 macOS 上打开,显示我的是 version: "151.0.0.0",但实际已经是最新版 151.0.7922.138 了,结果还给算出 count: 416 个漏洞。

· 0 个赞

回复

回复 cz5424:已经修了,像 151 这种就按该大版本里最新的小版本去算。

· 0 个赞

回复

回复 cz5424:是小版本匹配的问题,正在修复中。

· 0 个赞

Modernizr(https://github.com/Modernizr/Modernizr)这库都出来十几年了,有需要直接用就行。楼主这种第三方服务,稳定性风险太大了。

· 0 个赞

回复

回复 nc:我这个主要是引导用户去升级浏览器,不是做特性检测。晚点我可以开源到 GitHub,大家可以自己部署一套。

· 0 个赞

想升级的用户早就升了,不升的你打死他也不会升的(

· 0 个赞

真想彻底解决就做成客户端,自带 webview,这是唯一的办法。

· 0 个赞

没啥用,钉钉、企业微信内置的浏览器内核一个比一个旧。

· 0 个赞

0.052318s