从选项卡获取窗口对象

时间:2012-09-26 20:23:04

标签: firefox firefox-addon firefox-addon-sdk

我正在使用Firefox的Addon SDK(v1.10)开发扩展程序。

我的扩展程序有一个工具栏按钮,可根据活动标签的内容更新左侧的小徽章。

问题

当打开多个窗口时,工具栏按钮会更新为活动选项卡的值,无论它是否在同一窗口中。这意味着非活动窗口的工具栏按钮将使用来自不同窗口的数据进行更新。

有权访问数据来自的标签对象,有没有办法识别标签附加到的窗口对象?

这与here所描述的方法相反。

2 个答案:

答案 0 :(得分:3)

查看SDK源代码(即packages/api-utils/lib/tabs/tab.js),tab对象实际上具有window属性。我测试了它,这确实有效:

console.log(require("tabs").activeTab.window.title);

不确定为什么没有记录此属性,可能是文档错误。

答案 1 :(得分:1)

这会是活动窗口吗?您可以使用

获取当前活动窗口的窗口对象
windows.browserWindows.activeWindow

文档:https://addons.mozilla.org/en-US/developers/docs/sdk/latest/packages/addon-kit/windows.html#browserWindows

窗口对象有一个当前打开的选项卡列表:

https://addons.mozilla.org/en-US/developers/docs/sdk/latest/packages/addon-kit/windows.html#tabs

如果您需要在窗口中找不到当前活动标签或窗口的标签,则可能更难确定。您能否提供有关您实际尝试做的更多细节?