我正在考虑使用tabid来执行此操作,但是当我在选项卡中浏览时,它似乎经常发生变化。 API reference注意到tabid在“浏览器会话”中是唯一的。我认为这意味着在浏览器进程的生命周期内,但现在似乎更有可能只在与特定网站的会话期间保证唯一性。还有另一种方法可以在其整个生命中唯一地识别标签吗?
答案 0 :(得分:1)
由于预渲染和其他因素,标签可以“替换”。这意味着即使您打开选项卡,tabId也可以更改。 chrome.webNavigation.onTabReplaced
可用于捕获此类事件。有关详细信息,请参阅https://developer.chrome.com/extensions/webNavigation.html#event-onTabReplaced。
为了证明这一点,请按照以下步骤 帮助:
chrome.tabs.query({}, function(tabs){console.log(tabs)})
。查看现有标签及其ID。chrome.webNavigation.onTabReplaced.addListener(function(details){console.log(details);
。chrome.tabs.query({}, function(tabs){console.log(tabs)})
,您会发现标签ID实际上已“更改”。