我正在开发 Firefox 的 Addon SDK (v1.10) 的扩展。
我的扩展程序有一个工具栏按钮,可以根据活动选项卡的内容在其左侧更新一个小徽章。
问题
当打开多个窗口时,工具栏按钮会更新为活动选项卡的值,无论它是否在同一个窗口上。这意味着非活动窗口的工具栏按钮正在使用来自不同窗口的数据进行更新。
可以访问数据来源的选项卡对象,有没有办法识别选项卡附加到的窗口对象?
这将与此处描述的这种方法相反。
我正在开发 Firefox 的 Addon SDK (v1.10) 的扩展。
我的扩展程序有一个工具栏按钮,可以根据活动选项卡的内容在其左侧更新一个小徽章。
问题
当打开多个窗口时,工具栏按钮会更新为活动选项卡的值,无论它是否在同一个窗口上。这意味着非活动窗口的工具栏按钮正在使用来自不同窗口的数据进行更新。
可以访问数据来源的选项卡对象,有没有办法识别选项卡附加到的窗口对象?
这将与此处描述的这种方法相反。
查看 SDK 源代码(即packages/api-utils/lib/tabs/tab.js
),tab
对象实际上具有window
属性。我测试了它,这确实有效:
console.log(require("tabs").activeTab.window.title);
不确定为什么没有记录此属性,可能是文档错误。
这会是活动窗口吗?您可以使用获取当前活动窗口的窗口对象
windows.browserWindows.activeWindow
window 对象有一个当前打开的选项卡列表:
https://addons.mozilla.org/en-US/developers/docs/sdk/latest/packages/addon-kit/windows.html#tabs
如果您需要在不是当前活动选项卡或窗口的窗口中查找选项卡,则可能更难确定。你能提供更多关于你真正想要做什么的细节吗?