在内容脚本和后台脚本之间平衡处理的模式

时间:2019-02-18 20:29:05

标签: google-chrome-extension

我正在开发一个chrome插件,该插件可以更改某些页面的内容。看一下具有类似功能的扩展名(https://github.com/callumlocke/json-formatter)。我看到该插件使用backgound脚本执行繁重的工作,使用内容脚本来处理不太繁重的任务,并将辛苦的工作(通过消息传递)委派给了后台脚本。这是一种模式吗?我应该避免对内容脚本进行繁琐的处理任务,而是为此创建后台脚本吗?

1 个答案:

答案 0 :(得分:1)

这不是一种模式,而是一种常识。由于后台脚本在不同的上下文中运行,因此如果扩展程序执行繁重的工作并最终崩溃,那么当前页面将不会受到影响。

此外,您还将有机会使用devtools分析器和其他devtools功能来分析扩展。这很酷,因为在这种情况下,您将能够知道是什么在拖延扩展性能。

总之,将所有繁重的流程移至后台并仅使用内容脚本来处理DOM操作是一个好主意。