键入地址栏时会触发webNavigation.onCompleted

时间:2012-03-06 19:57:14

标签: google-chrome-extension

我制作了一个Chrome扩展程序,用于监控webNavigation.onCompleted事件,以检测用户何时导航到其他页面。但是,我认为API的工作方式与我最初想的不同。

基本上,如果我将焦点设置到地址栏,我会立即为google.com获取几个onCompleted事件(我认为这是地址栏的搜索功能)。但是,当我输入某些地址时,例如evolvehq.com。和之前我点击Enter,我得到一个onCompleted事件的页面。当页面实际加载后,点击Enter后不会触发另一个事件。

发生了什么以及如何可靠地检测到页面更改,即目标页面已完全加载并显示给用户?

更新经过一番调查后,看起来像目标网站(表面上)被Chrome预先加载导致单个onBeforeNavigate事件(但没有其他事件应该是跟着它)。

更有趣的是,在history.onVisited事件被触发之后,我得到了一个带有net :: ERR_ABORTED的webNavigation.onErrorOccurred事件,即使页面加载得很好。

糟糕...

1 个答案:

答案 0 :(得分:1)

我有一个理论。我不是说那就是它。 可能是, Chrome即时正在解雇这些事件。 并且可能是,当您继续键入时,Chrome即时更改导致ERR_ABORTED的页面。 您可以在选项/基本/搜索中检查Chrome Instant是否已启用。