Google chrome extension 用于在内容脚本和后台脚本之间平衡处理的模式

Google chrome extension 用于在内容脚本和后台脚本之间平衡处理的模式,google-chrome-extension,Google Chrome Extension,我正在开发一个chrome插件,可以改变一些页面的内容。看一看做类似事情的扩展()。我看到该插件使用backgound脚本来完成繁重的任务,并使用内容脚本来处理不太密集的任务,它将繁重的工作(通过消息传递)委托给后台脚本。这是一种模式吗?我是否应该避免在内容脚本上处理大量任务,并为此创建一个背景脚本?这不是一种模式,而是一种常识。由于后台脚本在不同的上下文中运行,如果扩展正在进行繁重的工作并且最终崩溃,那么当前页面将不会受到影响 此外,您还将有机会使用devtools探查器和其他devtools

我正在开发一个chrome插件,可以改变一些页面的内容。看一看做类似事情的扩展()。我看到该插件使用backgound脚本来完成繁重的任务,并使用内容脚本来处理不太密集的任务,它将繁重的工作(通过消息传递)委托给后台脚本。这是一种模式吗?我是否应该避免在内容脚本上处理大量任务,并为此创建一个背景脚本?

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

此外,您还将有机会使用devtools探查器和其他devtools功能来分析您的扩展。这很酷,因为如果是这样的话,您可以知道是什么拖累了扩展性能


简言之,最好将所有繁重的进程移到后台,只使用内容脚本处理DOM操作。

这取决于处理的繁重程度。它可能对于一个后台进程来说太重(以防您因某种原因无法使用web workers),或者它可能依赖于传输成本太高的数据。没有模式,只有个案分析。还要注意的是,许多开发人员只是为了好玩而喜欢过度设计东西。