打开网易新闻 查看精彩图片

全球65%的浏览器市场份额,却连最基础的阅读模式都做不稳。Chrome用户打开长文页面时,侧边栏广告、导航菜单、邮件订阅弹窗、"为你推荐"小部件层层堆叠,正文内容像沉在海底的潜艇。Safari自带阅读模式,Firefox用Mozilla的Readability.js(可读性脚本库)做了多年,Chrome的解决方案是藏在chrome://flags里的实验性开关——不稳定、功能残缺、日常用不敢托付。

开发者用了一个周末,搓出一个叫ZenRead的扩展。现在他每天用。功能清单:一键去广告、无障碍阅读、仿生速读、文本转语音、站点定制提取规则。这事本该浏览器自己做,但官方缺位,个人开发者填坑。

内容提取:别重复造轮子,但要系好安全带

内容提取:别重复造轮子,但要系好安全带

阅读模式的核心是内容提取——识别页面哪部分是文章主体,其余扔掉。ZenRead直接调用@mozilla/readability,Firefox同款底层库。代码很直白:克隆文档→解析→消毒→输出。

克隆文档是生死线。Readability解析时会修改DOM(文档对象模型),传入真实页面直接毁掉原网页。doc.cloneNode(true)造出安全副本,原页面毫发无损。

消毒输出不是可选项。提取的HTML来自不可信源,DOMPurify(DOM净化库)剥除