如何检测用户浏览某个网址的时间?

时间:2010-10-22 14:28:04

标签: firefox-addon hook wininet dde

我正在编写一个应用程序,一旦用户浏览某个网址就会变得“有用”。

我想在我的应用程序中添加功能,一旦用户浏览此网址就会自动启动,我正在考虑编写某种看门狗来触发它。

我的问题是,当用户浏览网址时是否有通用的方式获得通知,我想支持至少IE和FireFox,chrome和safari很高兴。

我读到了DDE和WWW_RegisterURLEcho,但据我所知,它不受FireFox支持,而且我写的小样本也不适用于IE。

提前谢谢

更多问题**

Url Monikers和Asynchronous Pluggable Protocols是否对我有帮助?是否受FireFox支持?

2 个答案:

答案 0 :(得分:1)

如果您可以控制网站,可以让它为计算机写一个cookie。然后让你的应用程序监视该cookie。

答案 1 :(得分:0)

您可以通过多种方式和许多不同的层实现此目的。

在最高级别,您可以实现浏览器插件。此层没有跨浏览器解决方案,可让您编写一次代码并适用于每个浏览器。简而言之,Firefox,您可以完全将其实现为Javascript + XUL插件,并使用内置的XPCom接口(nsIProcess)来启动您的帮助程序进程。对于IE,您需要编写处理BHO的COM,C ++和win32 DWebBrowserEvents2::BeforeNavigate2。这是最难的事情。有一些Safari,Chrome和其他网络浏览器的机制可以用来实现同样的行为,并且有不同的难度。

在下一级别,您可以实现类似于Fiddler2的HTTP代理,该代理首先通过本地代理重定向所有HTTP流量。每个浏览器都有不同的配置代理设置的方式,但它们基本上都是注册表设置或配置文件。

在最基本的层面上,您可以查看从机器中传出的所有IP流量,类似于Wireshark的方式,只需查找对您的URL的http请求。这可能更难编码,但是对于所有浏览器都没有任何特殊的每浏览器配置。您可能需要编写驱动程序。我不知道,我从来没有在这个级别上完成工作。