![]()
全球65%的浏览器市场份额,却连最基础的阅读模式都做不稳。Chrome用户打开长文页面时,侧边栏广告、导航菜单、邮件订阅弹窗、"为你推荐"小部件层层堆叠,正文内容像沉在海底的潜艇。Safari自带阅读模式,Firefox用Mozilla的Readability.js(可读性脚本库)做了多年,Chrome的解决方案是藏在chrome://flags里的实验性开关——不稳定、功能残缺、日常用不敢托付。
开发者用了一个周末,搓出一个叫ZenRead的扩展。现在他每天用。功能清单:一键去广告、无障碍阅读、仿生速读、文本转语音、站点定制提取规则。这事本该浏览器自己做,但官方缺位,个人开发者填坑。
内容提取:别重复造轮子,但要系好安全带
阅读模式的核心是内容提取——识别页面哪部分是文章主体,其余扔掉。ZenRead直接调用@mozilla/readability,Firefox同款底层库。代码很直白:克隆文档→解析→消毒→输出。
克隆文档是生死线。Readability解析时会修改DOM(文档对象模型),传入真实页面直接毁掉原网页。doc.cloneNode(true)造出安全副本,原页面毫发无损。
消毒输出不是可选项。提取的HTML来自不可信源,DOMPurify(DOM净化库)剥除
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.