代码之家  ›  专栏  ›  技术社区  ›  josesigna

从选项卡获取窗口对象

  •  3
  • josesigna  · 技术社区  · 12 年前

    我正在开发火狐插件SDK(v1.10)的扩展。

    我的扩展有一个工具栏按钮,它根据活动选项卡的内容更新左侧的一个小徽章。

    问题

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

    访问数据来源的选项卡对象后,是否有方法识别选项卡所附着的窗口对象?

    这与所描述的方法相反 here

    2 回复  |  直到 7 年前
        1
  •  3
  •   Wladimir Palant    12 年前

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

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

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

        2
  •  1
  •   therealjeffg    12 年前

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

    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

    如果你需要在一个窗口中找到一个不是当前活动选项卡或窗口的选项卡,这可能更难确定。你能提供更多关于你实际想做什么的细节吗?