chrome.webNavigation.onCompleted和chrome.tabs.onUpdated.addListener与'complete'之间有什么区别

时间:2016-01-27 07:01:00

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

在chrome API中,有两个理论上指向同一个evet的函数。

chrome.webNavigation.onCompletedchrome.tabs.onUpdated.addListenerchangeinfo=complete

这两者之间有什么区别,哪一个保证页面中的外翻已加载。我发现chrome.tabs.onUpdated.addListener有时即使很少有http请求仍然存在。

1 个答案:

答案 0 :(得分:5)

即使在子帧中进行导航,也会调用chrome.webNavigation.onCompleted,而chrome.tabs.onUpdated.addListener仅在选项卡更新时由于{{1}等标签属性的更改而被触发}或status。观察传递给回调函数here的changeInfo对象。

此外,url支持过滤事件,因此您可以指定过滤器,以便仅在传递过滤器时触发事件。观察here如何将过滤器应用于活动。

因此,如果您同时使用两个事件侦听器,您将观察到chrome.webNavigation.onCompleted对于单个选项卡多次触发,而chrome.webNavigation.onCompleted可能仅触发一次或两次(由于状态更改)从装载到完成)。

我希望这会有所帮助。