《从零开始开发一个划词翻译扩展程序》系列文章
你好,我是划词翻译的作者。划词翻译是一款安装在 Chrome、Firefox 和 Edge 浏览器上的扩展程序,自 2013 年我在大学寝室开发出它的第一个版本至今,我已经维护了 7 年时间。点击查看划词翻译的大事记
在这段时间里,我积累了一些相关经验,例如文本检测、扩展开发等,于是就想通过一个系列文章记录下来,也算是对这些年的维护经历做一个总结。
我会在这一系列的文章中开发一个简单的划词后显示翻译结果的扩展程序,“从零开始”有两层含义:
但是,这一系列文章并不是一个教程。我的主要目的是按照开发一个扩展程序的顺序记录我在这个过程中实际遇到的问题并探讨解决方案。我会默认将扩展开发相关的内容折叠起来,并且只会最低限度的介绍在开发过程中需要了解的部分,其余的部分则会提供官方文档地址作为扩展阅读。
总的来说,这一系列文章是"经验总结"、"扩展程序开发实战"和"扩展程序官方文档导读"。
我把开发一个划词翻译类扩展程序的过程分解成了以下几个大的步骤,每个步骤独自用一篇文章介绍。
这篇文章主要用到了扩展程序的内容脚本,但你不需要了解它也可以阅读。这篇文章主要涵盖以下内容:
这篇文章已经写完了:
这篇文章没有涉及到扩展程序的任何功能,主要涵盖以下内容:
<input>
和 <textarea>
元素)内划词的情况这篇文章会涉及到扩展程序提供的一个(我自认为)最为强大的 API——webRequest API,但只占很少部分的内容。
这篇文章不会告诉你如何去构建一个翻译面板,但是会告诉你如何尽可能的不让我们在内容脚本里的代码对宿主页面产生影响甚至冲突:
到第四篇的时候,一个划词翻译扩展程序其实已经开发好了,现在总算到了着重介绍扩展程序功能的时候了。本篇会介绍大部分我们用得到的功能:
这篇文章会介绍我个人总结的扩展程序开发的最佳实践,涵盖以下内容:
以我对自己的了解,我很有可能会弃坑。如果你感兴趣的话,点个赞吧,让我知道还是有人喜欢这些内容的,说不定我就会持续更新了 :joy: