【问题标题】:Access current document from Firefox extension browser action background script从 Firefox 扩展浏览器操作后台脚本访问当前文档
【发布时间】:2019-12-31 16:11:39
【问题描述】:

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

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

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

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

【问题讨论】:

标签: firefox firefox-addon-sdk firefox-addon-webextensions browser-action


【解决方案1】:

要在当前窗口中获取活动标签,您可以使用tabs.query()

例如:

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

这就是获取活动标签的方法。

选项卡与内容页面(网页)分开。为了与上下文页面交互,您需要将代码注入页面。

例如使用tabs.executeScript()

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

例如:

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

【讨论】:

  • 我将如何获取该选项卡的窗口/文档?我在文档或他们的示例中没有看到任何内容
猜你喜欢
  • 2022-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多