Mozilla Firefox:在标签更改之前捕获事件

时间:2014-04-26 18:10:37

标签: tabs firefox-addon

我正在寻找可以在更改标签之前触发的事件? 我已经看过this post,我也查看了firefox扩展中的tabSelect事件,但我找不到任何可以在标签更改之前触发的事件。

2 个答案:

答案 0 :(得分:2)

不幸的是没有这样的事件。

但是,您可以使用MutationObserver来查看所选标签type元素browser元素的gBrowser.mCurrentBrowser属性。当它从content-primary更改为content-targetable时,它表示标签切换正在进行中。

答案 1 :(得分:1)

正如paa已经指出的那样,在选择选项卡之前不会发生任何事件。您可以使用的是技巧,例如Object.watch() method(是的,使用它并不是完全推荐的)。它允许您监听gBrowser.tabContainer.selectedIndex属性的更改(此属性的setter是触发select事件的位置):

gBrowser.tabContainer.watch("selectedIndex", function(prop, oldval, newval)
{
  // New tab being selected, do something here!
  return newval;
});

这种方法的优点是:通过从处理程序返回oldval,您可以阻止选择发生。