从 Firefox 扩展浏览器操作后台脚本访问当前文档



我正在为 Firefox 构建一个工具栏按钮扩展。在我的后台脚本中,我需要在单击工具栏按钮时访问当前选项卡的document

在此上下文中window是扩展的窗口,而不是当前选项卡的窗口。其他函数(如browser.tabs.getCurrent()(在后台脚本中不起作用。

我知道这是可能的,因为其他扩展程序可以访问当前文档(例如,1Password 将识别并填充input元素。

注意:之前关于 SO 的所有关于 2010 年、2012 年等相同功能的问题都不再有价值。

要在当前窗口中获取活动选项卡,您可以使用 tabs.query((

例如:

browser.tabs.query({currentWindow: true, active: true})

这就是获取活动选项卡的方法。

选项卡独立于内容页面(网页(。为了与上下文页交互,您需要将代码注入到页面中。

例如使用 tabs.executeScript((

当您注入到活动选项卡中时,无需再单独获取活动选项卡,因为如果省略tabIdtabs.executeScript()将注入到活动选项卡中。

例如:

browser.tabs.executeScript({
code: `console.log('location:', window.location.href);`
});

最新更新