1
我有一个插件在加载时侦听特定的tabindex数字,例如在tabindex 3中,但如果用户关闭1或2或所有以前的选项卡是有一种方法可以知道tabindex 3现在是1还是2?当用户关闭以前的选项卡时,XUL获取当前选项卡号
我有一个插件在加载时侦听特定的tabindex数字,例如在tabindex 3中,但如果用户关闭1或2或所有以前的选项卡是有一种方法可以知道tabindex 3现在是1还是2?当用户关闭以前的选项卡时,XUL获取当前选项卡号
是的。该索引将始终更新以从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和TabClose事件,向他们展示改变。 setTimeout是让选项卡关闭,因为事件在实际发生之前触发。
要测试它,请打开4个选项卡并选择第4个选项卡。打开控制台,然后关闭其中一个第一个选项卡。你会看到它发生了变化。
如果你需要更多的“独特的”,你可以使用该标签的linkedPanel ID来识别你想要的标签。尽管如果将选项卡移动到不同的窗口,这将会改变。