如何在 Chrome 中获取页面加载事件的通知?

Posted

技术标签:

【中文标题】如何在 Chrome 中获取页面加载事件的通知?【英文标题】:How can I get notification of page load events in Chrome? 【发布时间】:2012-01-03 20:17:55 【问题描述】:

我需要能够监控 Windows PC 上运行的浏览器中的导航事件(例如页面加载或在活动选项卡之间切换)。到目前为止,我可以通过调用 SetWindowsHookEx 将 DLL 加载到所有正在运行的应用程序中,然后从应用程序请求 IhtmlDocument2(在 IE 中)或 nsIWebProgress(在 Firefox 中)接口,从而使其在 IE 和 Firefox 中工作。当感兴趣的事件发生时,我可以使用适当的接口向应用程序请求回调。

有没有办法在 Chrome 中做到这一点?我已经阅读了一些关于 Chrome 扩展的信息,但我没有找到任何关于 Chrome 公开的 API 的文档,该 API 类似于 IE 中的 COM 或 Firefox 中的 XPCOM。类似的方法会起作用还是我需要做一些完全不同的事情? (我正在使用 C++。)

如果有人至少能指出我正确的方向,我将不胜感激。

谢谢。

【问题讨论】:

有 API 可以满足你的需求。您能否提供有关所有您要跟踪的事件的更多详细信息? 【参考方案1】:

使用 Chrome 扩展 API,您可以注册一些事件处理程序来更改选项卡的状态,例如文档状态更改(加载或加载)、从窗口添加/删除新选项卡或用户在选项卡之间切换时。 有关标签事件的更多信息,您可以在 http://code.google.com/chrome/extensions/tabs.html#event-onActiveChanged 上找到

【讨论】:

以上是关于如何在 Chrome 中获取页面加载事件的通知?的主要内容,如果未能解决你的问题,请参考以下文章

获取Chrome扩展程序中日历事件的推送通知

无法在“notificationclick”事件中为 chrome 加载 GCM 推送通知的数据 URL

Stack Overflow 如何在不重新加载页面的情况下通知服务器端事件?我在 Firebug 中没有看到任何请求

允许获取 chrome 浏览器通知后如何刷新或重定向用户?

在第一次加载页面时不会在 Android Chrome 上触发 Touchstart 事件

Chrome扩展程序:如何拦截Cookie?