如何获取右键单击的非活动选项卡的选项卡索引



谁获取右键单击的选项卡的选项卡索引,该选项卡将触发选项卡上下文菜单。选项卡不是活动选项卡(不是selectedIndex)?

举个例子。无论右键单击哪个选项卡(活动/非活动),选项卡上下文菜单中的"关闭右侧选项卡"都有效。它如何获得正确的选项卡索引?

侦听tabContextMenu元素的popupshown事件。

由于这是一个无重启插件,我认为您已经参考了ChromeWindow。

var tabContextMenu = chromewin.document.getElementById("tabContextMenu");
tabContextMenu.addEventListener("popupshown", function(){
  var rightclickedtab = chromewin.TabContextMenu.contextTab;
  // now proceed as you wish
}, false);

您也可以添加自己的菜单项并监听其command事件。

在任何情况下,请记住在卸载扩展时进行清理。

点击event.target(即tab元素),然后循环通过具有选项卡的childNoedes的选项卡元素的parentNode,怎么样。然后在那里找到你的活动目标?

所以点击添加点击监听器并这样做:

var foundAtIndex = -1;
var tab = event.target;
var tabContainer = tab.parentNode;
var tabs = tabContainer.childNodes;
for (var i=0; i<tabs.length; i++) {
if (tabs[i] == tab) {
foundAtIndex = i;
break;
}
}
if (foundAtIndex !== -1) {
console.error('very weird, tab not found');
} else {
console.info('tab found at index:', foundAtIndex);
}

相关内容

  • 没有找到相关文章

最新更新