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

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

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

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

这两者有什么区别,哪一个保证页面中的所有内容都已加载。我发现即使剩余的 http 请求很少,chrome.tabs.onUpdated.addListener 有时也会触发。

最佳答案

即使导航发生在子框架中,也会调用 chrome.webNavigation.onCompletedchrome.tabs.onUpdated.addListener 仅在选项卡更新时触发由于选项卡属性的更改,例如 statusurl。观察传递给回调函数的 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/

相关文章:

javascript - 使用对象创建二维数组 - Javascript

jquery - 单击选择器时如何停止滚动功能?

javascript - jQuery ajax 在 Chrome 和 Safari 中*有时* (ERR_EMPTY_RESPONSE) 失败

html - 绝对定位div内的SVG不显示

javascript - 使用 React 管理无限滚动表中的复选框状态

javascript - typescript 导入模块作为变量不起作用

javascript - Aurelia + Redux 性能

javascript - 如何通过kineticjs中的点之一拉线/多边形?

javascript - 从 ajax 捕获数据并对其进行操作的最佳方法

android - 未安装 chrome 时自定义 chrome 选项卡