我打开 Alan Bellows 那个 Random Insult Generator,本来是想看它能骂多脏,结果还没被脏话逗笑,先被页脚那行版权戳了一下——1999–2026,Alan Bellows,保留所有权利。这行字活得比我前公司的招牌都久。旁边还缀着一个 Y2K certified 的小徽章。1999 年,Y2K 认证,随机侮辱。这头牛我今儿个想钻一下,不为别的,就好奇一个嘴不干净的小页面是怎么活到 2026 的。
先摸底。Chrome 里跑得挺欢。进页面先弹一个露骨内容警告,我点了确认。然后整页就那点东西:一句随机生成的侮辱,一个用来重生成的按钮,一个显示当前可生成组合总数的数字。干净得像拆了所有装饰的白墙,三样东西。没骨架屏,没渐变,没“注册即享更多人骂你”。看惯了现在那些套了三层框架的页面,我这一下还有点不习惯。
我第一件事就是把它 JS 关了。这页面自己明说要依赖 JavaScript,我信它个鬼,亲手试一下。
[实验一:断 JS]
Chrome Desktop → F12 → Cmd+Shift+P → Disable JavaScript → reload
结果:整页直接没了。连露骨警告都没等到,就一个空白窗口,像被抽走了脊椎。你说气不气。这页面没给 noscript,也不留一条退路。1999 年的站点就这么刚:你把 JS 关掉,它连句“请打开 JavaScript”都懒得给你。我蹲在屏幕前愣了两秒,又笑了——它不是没做降级,它是压根没打算伺候关了 JS 的人。
我重新开 JS,回到页面。接下来它还有什么?一个重新生成按钮。我就反复按。按一下,句子换一句;再按一下,又换。按到第八九次的时候,那个显示的总数一直没动。我一开始还琢磨这总数是不是每次重新算一遍?后来想想不可能——就页面上那么点词,随机组合来组合去,能拼出来的最大句数就那个数。它在这个固定的组合空间里重新捞一次,不是把池子变大。这跟买彩票一个道理:奖池不变,你只是多抽了几次。
等一下,我承认我又犯了没翻源码的老毛病。这个“最大组合数”页面上就一个显示,没给公式,我也没看它怎么算的。我只能从使用者角度说:总数报了,我信了,但我算不出来,也没想算。钻牛角也要有个限度嘛,嘿嘿。
光在桌面浏览器里点还不够,接着我挨个切浏览器,看它到底还能不能在今天这些环境里喘气。
| 浏览器 | 支持/行为 | 备注 |
|---|---|---|
| Chrome 桌面版 | 正常 | 加载顺,点按钮秒换,总数显示正常 |
| Firefox 桌面版 | 正常 | 按钮原生样式更方一点,行为和 Chrome 一致 |
| Edge | 正常 | 同 Chromium,没啥好说的 |
| Safari 桌面版 | 基本正常 | 能用,但按钮默认样式老得我没话讲,不算 bug,算时代印记 |
| iOS Safari | 基本正常 | 能跑,但重生成按钮在小屏上小得像米粒,我点了三次有两次摁空 |
这张表全绿,没有哪个浏览器真拉胯。最让人恼火的其实是这页面自己的响应式——不是 iOS Safari 跑不动 JS,是按钮没跟上时代。2026 年的手机,手指头比鼠标大十倍,控件还是 1999 年的尺寸。我点几回没点着,倒不是浏览器抽风,是我手指头替这页面背了锅。
但结论还是要给:它在所有现代浏览器里都能活着。一个 1999 年的实验性页面,不依赖 polyfill、不查 caniuse、不做渐进增强,凭的就是最基础那点东西。我们后来搞的各种兜底、各种降级、各种“只在 Chrome 上测”的坏毛病,在这页面面前像噪音。它没去追浏览器,浏览器也没把它逼死。27 年,它就在原地待着。
说到那个 Y2K 认证,我盯着看了好一会儿。90 年代那会儿,所有网站都怕千年虫,于是到处给自己扣个“Y2K certified”的戳,跟疫苗本一样。现在没人再在乎这玩意儿了,可它还在页面上,像没撕掉的袖标。这不是什么技术保证——这是一枚 1999 年的时间戳。它证明这页面真是从那个年代爬过来的,不是谁 2020 年复刻出来装怀旧。就凭这个徽章,我觉得比很多页面挂的“我们通过了 XX 认证”都真诚。
这页面的骨子里,其实就是一个很窄的随机句生成器。它不跟你讲设计,不给数据面板,不让你登录。它全部的劳动就是每次从词库里随机挑几个词,拼成一句能让你翻白眼的话,然后告诉你:你还能被这么骂多少次。从 1999 年骂到 2026 年,翻来覆去就那点话术,每次还都管用。这件事本身就很搞笑。你可以说它老,但不能说它退休了。
写到这儿我有点发愣。我们前端现在追的新东西,有多少能保证 27 年后还能用?别说 27 年,一个项目 27 个月不维护,依赖链里已经有五六个包成了僵尸。而它,一个靠 JS 活着的老骨头,连半秒的加载动画都没有,就敢横跨两个世纪。我琢磨着,这大概就是“简单”的力量——但别误会,简单不等于容易,简单是知道该不要什么。
最后,说个跟这页八竿子打不着的。昨晚我整理硬盘,翻出一个 2008 年的 U 盘,里面有个 txt,写着“明天再写博客”。我点了属性,上次修改时间就是 2008 年,再没动过。这页面 27 年了还知道自己要生成一句新的侮辱,我那个 txt 18 年了都没兑现。我也许该给它署个“延误认证”。扯远了,反正——嘿嘿,下次见。
