0

注意:我正在使用 GWT 构建一个 firefox 扩展

假设我有一个在浏览器的不同选项卡上运行的类:

class TabRoutine{
  Element tab;
  static int tabData;

  public TabRoutine(Element tab){
    this.tab=tab;
  }

  public void tabMethod(){
    //Operation on tab
  }      
}

对于每个选项卡,我必须创建一个此类的实例,一旦选项卡关闭,我想将其销毁。因此,每个选项卡都有一个与之相关的 int tabData。这是我的处理方法:

我有与我可用的每个选项卡相关的文档元素(如果有帮助,我也有窗口对象)。因此,我决定使用

gBrowser.getBrowserForDocument(doc);

我的问题是这个浏览器元素对于标签来说是独一无二的吗?我的意思是说我有 2 个带有文档 doc1 和 doc2 的选项卡。如果我将这些浏览器元素映射到 TabRoutine 的对象,每个单独的选项卡是否总是返回相同(且正确)的浏览器,以便我可以找到与之相关的对象?

请告诉问题的某些方面是否不清楚,我会详细说明。非常感谢!

4

1 回答 1

0

是的,每个<browser>元素都与一个特定的选项卡相关联。但是,它不绑定到特定的内容文档 - 可以将不同的站点加载到同一选项卡中。您可能希望在扩展程序启动时浏览该gBrowser.browsers集合。然后,无论何时打开或关闭选项卡,您都会监听事件以获取通知(使用TabOpen方法TabClose获取gBrowser.getBrowserForTab这些事件<browser>关联的元素)。

于 2012-06-11T07:05:01.120 回答