是否可以使用BHO(IE8)跟踪用户点击的链接

时间:2011-01-28 14:32:50

标签: c# internet-explorer-8 bho

阅读关于BHO的信息,我知道我可以看到您可以跟踪用户导航的方式 - 但是,BHO可以识别用户点击了哪个链接(例如,如果页面上存在两个链接)用户可以单击以导航到目标a - 是否可以确定实际单击了哪个链接?

3 个答案:

答案 0 :(得分:1)

如果你可以访问这些元素,你可以sink the DISPID_HTMLELEMENTEVENTS2_ONCLICK event(有时候你不会像其他域中的框架中的元素那样)

哦,记得在BeforeNavigate2中分离你的活动。

问题是没有可靠的方法来检测页面刷新以重新连接事件或处理从脚本生成的元素(Ajax)。

答案 1 :(得分:0)

是的,你可以。 BHO是在IE进程内部运行的C ++代码,因此它可以访问所有内存并且可以在其中执行任何操作(对进程外部的事情做一些事情是一个单独的主题,并且受到IE的严格限制)。 / p>

答案 2 :(得分:0)

你有两个相同的链接,你想知道哪个被点击了?

为什么不直接为每个参数添加一个唯一的URL参数:

<a href='mylink.html?tracking=linkA'>click me</a>
<a href='mylink.html?tracking=linkB'>click me</a>

然后您的服务器日志会告诉您单击了哪一个。不需要任何特定于IE的黑客攻击。