惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
腾讯CDC
Jina AI
Jina AI
博客园 - 司徒正美
博客园 - 三生石上(FineUI控件)
Apple Machine Learning Research
Apple Machine Learning Research
GbyAI
GbyAI
WordPress大学
WordPress大学
Hugging Face - Blog
Hugging Face - Blog
T
The Blog of Author Tim Ferriss
小众软件
小众软件
M
MIT News - Artificial intelligence
MyScale Blog
MyScale Blog
D
Docker
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Google DeepMind News
Google DeepMind News
月光博客
月光博客
L
LangChain Blog
F
Fortinet All Blogs
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - Franky
C
Check Point Blog
U
Unit 42
人人都是产品经理
人人都是产品经理

kkocdko's blog

Tasker 永久试用修改思路 - kkocdko's blog 极限压缩文档扫描件 - kkocdko's blog Bypass the Blank Chars Detection crknob - Chrome portable patch 我如何将博客首页体积降至 3 KB - kkocdko's blog 如何极限优化压缩文件体积 - kkocdko's blog EmEditor 精简版 - kkocdko's blog Backup Data from VSCode Web 优雅地游玩 Minecraft - kkocdko's blog 让程序以管理员权限运行的 PE 清单 - kkocdko's blog 注销 ZEIT 账号之后遇到的坑 - kkocdko's blog 本博客的协议已更改为 CC0 - kkocdko's blog mobp - 使 MSOffice 后台常驻 在安装 VS 生成工具时规避 .NET 安装错误 各种格式的占位空文件 - kkocdko's blog 优雅地游玩 Flash 游戏 - kkocdko's blog WPS 2016 极限精简版 - kkocdko's blog Convert Const to Let by Terser 规避 Visual Studio 许可证过期的 Bug 方便地使用 iPod - kkocdko's blog 用 UserJS 注入 UserCSS - kkocdko's blog 注册表修改文件关联(默认程序) - kkocdko's blog 周期精准的太阳系模型 - kkocdko's blog 关闭屏幕的 WinAPI - kkocdko's blog 重置 Windows 图标缓存 - kkocdko's blog AIDA64 极限精简单文件版 - kkocdko's blog 几何画板单文件精简版 - kkocdko's blog 世界之窗浏览器单文件版 - kkocdko's blog 在 MBR + Legacy 下用 Bootmgr 引导 Ubuntu 简洁的 Markdown 预览工具 - kkocdko's blog
请停止滥用新 Web 标准特性 - kkocdko's blog
2026-04-11 · via kkocdko's blog

正确地使用 Web 标准特性

开发者使用新特性的好处,正确的做法是什么?

  • 使用 PWA 系列特性,例如 Service Worker 为用户提供接近原生的体验。

  • 使用 WebRTC 系列特性,实现全功能的在线视频会议。

  • 更旧一些地,使用 Local Storage 而不是 Cookie 来存储状态信息。

残酷的现实,滥用

现状呢?许多开发者并没有将新特性用于造福用户,而是选择滥用,无论是出于服务端的利益还是偷懒。

  • 使用 WASM 在用户的终端上软解 HEVC 视频。

  • 使用 IndexedDB 而不是 CacheStorage 来缓存大量资源。

  • 使用 Service Worker 在页面关闭后保持运行并与服务器通讯,推送广告。

  • 使用 Canvas WebGL 展示繁杂的鼠标特效(轮番显示 12 个 2 字词语)。

  • 使用 WebRTC 在未经用户允许的情况下将用户作为 P2P 节点。

如何反制

作为开发者的我们,以用户的角色使用这些产品时,如何反制这些滥用 Web 标准特性的行为?

  • 默认为所有网页禁用 JavaScript,仅当网页无法使用时启用 JavaScript。

  • chrome://settings/content/all 排序,并删除无用的网站数据。

  • 在 UserJS 中运行 Object.defineProperty(globalThis, "WebAssembly", {}) 阻止网页使用 WebAssembly。使用 // @exclude-match 添加例外规则。

  • 运行 Object.defineProperty(globalThis.navigator, "serviceWorker", {}) 阻止网页注册 Service Worker。在 chrome://serviceworker-internals/ 移除不必要的已经注册的 Service Worker。

  • 运行 Object.defineProperty(globalThis.indexedDB, "open", {}) 阻止 IndexedDB。

除此之外还有很多。

由于我观察到的,滥用特性的网站大多来自中国。因此本文使用中文。顺便给出 一条好玩的东西,请先深呼吸,将他当笑话看。