firefox - 从 Firefox 扩展浏览器操作后台脚本访问当前文档
问题描述
我正在为 Firefox 构建一个工具栏按钮扩展。document
在我的后台脚本中,单击工具栏按钮时,我需要访问当前选项卡的 。
window
在此上下文中是扩展的窗口,而不是当前选项卡。其他功能如browser.tabs.getCurrent()
在后台脚本中不起作用。
我知道这是可能的,因为其他扩展可以访问当前文档(例如 1Password 将识别和填充input
元素。)
注意:之前关于 SO 的所有关于 2010 年、2012 年等相同功能的问题不再有价值。
解决方案
要在当前窗口中获取活动选项卡,您可以使用tabs.query()
例如:
browser.tabs.query({currentWindow: true, active: true})
这就是如何获得活动标签。
选项卡与内容页面(网页)分开。为了与上下文页面交互,您需要将代码注入页面。
当您注入活动选项卡时,不再需要单独获取活动选项卡,因为如果省略,tabs.executeScript()
将注入活动选项卡。tabId
例如:
browser.tabs.executeScript({
code: `console.log('location:', window.location.href);`
});
推荐阅读
- python - 在 Python 中即时从 CSV 生成镶木地板
- python-3.x - Keras ImageDataGenerator 映射错误
- java - Spring Boot JPA如何使用实体类从表中选择特定列?
- android - 检查 WorkRequest 是否在昨天发生
- javascript - 尝试使用正则表达式匹配 javascript 中的 REST 参数参数
- visual-studio-code - 终端向上箭头 - 不重复上一个命令
- c++ - 链表没有循环
- reactjs - 在列表中闪烁一次
- javascript - 如何在 HTTP 403 响应中获取自定义错误响应文本
- assembly - 有没有一种简单的方法可以在 AT&T 汇编中像这样将两个寄存器相乘:%eax * %ebx = %ecx