我的扩展程序需要对当前事件的选项卡做一些事情。所以我用
browser.tabs.query({active: true, currentWindow: true}).then((tabs) =>
let tab = tabs[0];
if (tab) {
// actual code
} else {
log("no active tab")
}
);
主要是出于好奇:是否存在 tabs
有多个选项卡的情况?
最佳答案
TLDR:否
对于 Chrome、Opera 和 Firefox 目前这是不可能的,所以可以安全地假设数组将只包含一个元素。
Opera 具有多选选项卡,但它使用属性 highlighted
来指示多选状态。 active
表示“在窗口中可见选择”:选项卡的内容在浏览器窗口中可见。
browser.tabs.query 返回一个数组,无论您传递给它的过滤器是什么。当对“索引”进行过滤时,它还会返回一个数组,如果您打开一个窗口,则包含一个结果。
关于google-chrome-extension - 可以browser.tabs.query({active : true, currentWindow : true}) ever return more than one tab?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49463077/