chrome扩展中的内容脚本和后台脚本究竟是什么?

Par*_*war 5 google-chrome google-chrome-extension content-script

我正在使用chrome扩展来自动填充演示数据.我创建了JavaScript文件" xyz.js"来自动填充数据.所以我通过单击按钮来执行脚本 chrome.tabs.executeScript(tabs[0].id, {file: "xyz.js"});而我正在获得所需的输出.

我没有使用内容脚本或后台脚本.使用内容脚本或后台脚本可以获得什么好处?

Chi*_*ora 8

首先,您确实在使用内容脚本.在这里,您只是通过事件控制内容脚本的执行.

后台脚本是在后台运行并在用户与chrome浏览器交互时侦听触发器(例如在选项卡上侦听单击事件)

虽然内容脚本实际上是与网页交互的(主要是DOM元素).

现在,您的方法清单中包含它们之间的区别在于,如果它们包含在清单中,内容脚本将在页面加载后立即加载,因此(在这种情况下)将同时自动填充数据,同时chrome.tabs.executeScript(tabs[0].id, {file: "xyz.js"});将加载在某个触发事件上的内容脚本,因此(在这种情况下)在触发器上自动填充数据(例如在按钮点击时).

以下是注入内容脚本的所有方法.


vas*_*ski 5

实际上在 chrome 扩展中执行脚本是使用内容脚本的另一种方式。内容脚本也可以在扩展的清单中定义。

很快,内容脚本可以访问扩展 api 的一小部分,并且可以完全在页面的 DOM 上工作。如果它们在清单中定义,则它们会在自动导航时加载到页面中,或者您可以使用您正在使用的 api 注入它们,但最终结果是相同的。

后台脚本无法访问页面的 DOM,但可以让您完全访问扩展的 api。

在后台脚本中,您存储扩展程序的状态,因为它会一直存在,直到浏览器关闭。

这里有很多关于 chrome 扩展架构的详细信息,您也可以在那里找到有关内容和后台脚本的信息。 https://developer.chrome.com/extensions/overview