标签生命周期中的Google Chrome标签ID会发生变化

时间:2013-07-19 22:08:05

标签: javascript google-chrome google-chrome-extension

我正在实施处理标签的Google Chrome扩展程序。这包括我提取onCreatedonUpdatedonActivated。每次,我在我的逻辑中使用tabId,最初在处理onCreated事件期间存储在数组中。原则上,一切正常。

然而,我发现了一个小故障。有时,现有选项卡的ID会更改。因此,选项卡具有不在我的数组中的ID,这自然会导致错误。我可以在以下用例中重现此问题:

  • 打开包含不同网址的2个或多个标签
  • 在一个标签中加载T已在另一个标签页中加载的网址

在这种情况下,会发生两件事:首先,代替onUpdated事件,T的onActivated事件触发。其次,T现在有一个新的ID,通常会增加2。

这在我看来远非直观。我甚至称它为bug。有谁知道这里发生了什么?

非常感谢任何提示!

1 个答案:

答案 0 :(得分:9)

这可能是由prerendering造成的。这可以通过收听chrome.webNavigation.onTabReplacedchrome.tabs.onReplaced事件来检测。