Firefox 从选项卡获取窗口对象

Firefox 从选项卡获取窗口对象,firefox,firefox-addon,firefox-addon-sdk,Firefox,Firefox Addon,Firefox Addon Sdk,我正在Firefox的插件SDK(v1.10)上开发一个扩展 “我的分机”有一个工具栏按钮,可根据活动选项卡的内容更新左侧的小徽章 问题 当打开多个窗口时,“工具栏”按钮将更新为活动选项卡的值,无论它是否位于同一窗口上。这意味着非活动窗口的工具栏按钮正在使用来自不同窗口的数据进行更新 在访问数据来源的选项卡对象时,是否有方法标识选项卡所附加到的窗口对象 这与所描述的方法相反。这是活动窗口吗?可以使用获取当前活动窗口的窗口对象 windows.browserWindows.activeWindow

我正在Firefox的插件SDK(v1.10)上开发一个扩展

“我的分机”有一个工具栏按钮,可根据活动选项卡的内容更新左侧的小徽章

问题

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

在访问数据来源的选项卡对象时,是否有方法标识选项卡所附加到的窗口对象


这与所描述的方法相反。

这是活动窗口吗?可以使用获取当前活动窗口的窗口对象

windows.browserWindows.activeWindow
文件:

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


如果需要在不是当前活动选项卡或窗口的窗口中查找选项卡,则可能更难确定。您可以提供更多关于您实际尝试执行的操作的详细信息吗?

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

console.log(需要(“tabs”).activeTab.window.title);

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

My extension对每个打开的选项卡执行计算,并通过在我创建的工具栏按钮上显示带有数字的小徽章来显示结果。这些计算是动态的,并且发生在任何时间点(不仅当选项卡处于活动或加载状态时)。现在,当某个选项卡处于活动状态时,我执行计算并更新工具栏按钮上的标记,以便始终显示所使用选项卡的对应标记。当两个或多个窗口同时打开时会出现问题。我如何确定应该在哪个窗口更新按钮的徽章?由于扩展计算的动态特性,使用activeWindow是不可能的:当扩展正在另一个打开的窗口上记录信息时,我可能正在使用另一个窗口。