简介
哪怕是在 IP 属地功能在国内大多数平台已经落地许久的今天,哔哩哔哩网页版的评论区至今仍然不会显示 IP 属地,这让我们与 APP 的体验产生了非常大的割裂。
因此,如标题所述,这个用户脚本只有一个功能:为哔哩哔哩网页版补全显示 IP 属地功能。
我尽可能地覆盖了 B 站全站页面的评论区,并实现了 Playwright 端到端测试的全覆盖。项目使用 TypeScript 开发,基于 vite-plugin-monkey 框架。
安装方式
【Github】 | 【Greasy Fork】
安装环境
这是一个用户脚本,因此你需要用户脚本管理器运行他。
-
浏览器:最新版 Chrome / Edge / Firefox / Safari 等支持 扩展 API 的现代浏览器。
-
用户脚本管理器(推荐):
- Chrome/Edge/Firefox: Tampermonkey 或 Violentmonkey
- Safari: Stay 或 Tampermonkey(付费)。
背景介绍
虽说这个功能很简单,原理也不算复杂(网页版的哔哩哔哩其实一直都把这个数据放在了 API 接口里)。因此,从这个功能缺位开始,许多人都写了类似的用户脚本来解决这个问题。
这个脚本始于我某次在使用一个同类脚本时,发现它的许多页面没有覆盖到,以及逻辑上可以做些许优化,于是我自己也写了一个。至今,通过连续三年的迭代,脚本已经处于一个比较稳定的状态。
哔哩哔哩网页版的架构是比较复杂的,目前三代评论区组件都同时存在,并且不同页面的组件也在持续更新。目前,所有的功能都已经做了测试覆盖,可以很方便地测试功能是否生效。我也在每天高强度使用 B 站,因此许多缺口都会得到及时更新。
我的原则是:对于需要的页面按需加载,尽可能地覆盖 B 站所有的页面。同时,尽可能地逆向哔哩哔哩的前端代码,优雅地进行打补丁,使得我们的逻辑尽可能地耦合在 B 站的内部组件逻辑中。
常见问题
- 为什么个人主页的 IP 属地没有显示?
- 由于个人主页 IP 属地需要使用 APP 接口,依赖于许多额外逻辑,目前单独实现了一个脚本,如有需要请前往 Greasy Fork 或 Github(maxchang3/userscripts) 安装。