2013-10-21 51 views

回答

1

是的。该索引将始终更新以从0开始,从0开始代表标签的顺序,从0开始。如果删除索引0,1或2处的选项卡,则索引3处原始索引处的选项卡将位于2.

您可以测试这一点你自己:

window.addEventListener("load", function() { 
    var container = gBrowser.tabContainer; 
    container.addEventListener("TabSelect", function() { 
     console.log("SELECT: " + gBrowser.selectedTab.linkedPanel 
          + " - " + gBrowser.tabContainer.selectedIndex); 
    }, false); 
    container.addEventListener("TabClose", function() { 
     window.setTimeout(function(){ 
      console.log("CLOSE: " + gBrowser.selectedTab.linkedPanel 
       + " - " + gBrowser.tabContainer.selectedIndex);}, 2000) 
    }, false); 

}, false); 

这听TabSelect和TabClos​​e事件,向他们展示改变。 setTimeout是让选项卡关闭,因为事件在实际发生之前触发。

要测试它,请打开4个选项卡并选择第4个选项卡。打开控制台,然后关闭其中一个第一个选项卡。你会看到它发生了变化。


如果你需要更多的“独特的”,你可以使用该标签的linkedPanel ID来识别你想要的标签。尽管如果将选项卡移动到不同的窗口,这将会改变。

相关问题