张春成
2022/10/23阅读:34主题:默认主题
Chrome 插件
Chrome 插件小例
浏览器插件可以增强 Web 浏览体验。
原理及作用
用最简单的话来说,浏览器就是获取网络内容并进行显示的软件。那么,在完成网络内容的规定动作之外,我们当然可以让这个软件再额外进行一些小动作,这些小动作就是浏览器插件。
要继续学习这些小动作,就要翻阅浏览器的 API,它有原版和中文译版
Chrome APIs[1]
chrome.\* APIs[2]
那么,下一个问题是,我们为什么要使用插件呢?这个问题没有确定的答案,但这里可以给出一个使用插件的优势,那就是插件处理的内容都是经过渲染之后的内容,也就是“用户所见即所得的内容”。
我比较乐于相信,这是体现用户比网站服务商更加了解自己需求的“定制化”内容。要实现这些内容,就需要网页在完成规定动作之后,再按照自己的要求,做一些小动作。
要实现插件并不难,以下是两个例子。
标签页浏览的插件
首先是浏览器标签页浏览的插件,它可以分窗口地列出浏览器页面的内容,尤其是开了几十个窗口之后,可以方便用户查找特定的标题。
listenzcc/edgeExtTabsController[3]
它是点击触发的,也就是说用户在需要时可以通过点击图标实现标签页汇总。

JS 注入的插件
另一个是使用 JavaScript 注入的方法,达到增强 ArXiv 搜索结果的目的。简单来说,它会把搜索按照 Tag 进行分类统计,之后可以通过点击 Tag 标签的方式进一步筛选分类结果
listenzcc/ArXiv-search-filter-chrome-ext[4]
它是自动执行的,触发条件是 https://arxiv.org/search/* 这样的网页加载完成之后。它的行为是在结果部分增加一串标签,用于筛选结果。

参考资料
Chrome APIs: http://docs.getquicker.cn/chrome/developer.chrome.com/extensions/api_index.html
[2]chrome.* APIs: http://docs.getxhr.com/ChromeExtensionDocument/api_index.html
[3]listenzcc/edgeExtTabsController: https://github.com/listenzcc/edgeExtTabsController
[4]listenzcc/ArXiv-search-filter-chrome-ext: https://github.com/listenzcc/ArXiv-search-filter-chrome-ext
作者介绍