在 chrome API 中,有两个函数理论上指向同一个事件。
chrome.webNavigation.onCompleted
和 chrome.tabs.onUpdated.addListener
与 changeinfo=complete
。
这两者有什么区别,哪一个保证页面中的所有内容都已加载。我发现即使剩余的 http 请求很少,chrome.tabs.onUpdated.addListener
有时也会触发。
最佳答案
即使导航发生在子框架中,也会调用 chrome.webNavigation.onCompleted
而 chrome.tabs.onUpdated.addListener
仅在选项卡更新时触发由于选项卡属性的更改,例如 status
或 url
。观察传递给回调函数的 changeInfo 对象 here .
此外,chrome.webNavigation.onCompleted
支持过滤事件,因此您可以指定过滤器,以便仅在通过过滤器时触发事件。观察here如何将过滤器应用于事件。
因此,如果您同时使用这两个事件监听器,您会观察到 chrome.webNavigation.onCompleted
会针对单个选项卡多次触发,而 chrome.tabs.onUpdated。 addListener
可能只会触发一次或两次(由于状态从加载变为完成)。
希望对您有所帮助。
关于javascript - chrome.webNavigation.onCompleted 和 chrome.tabs.onUpdated.addListener 与 'complete' 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35030705/