【问题标题】:Is it possible to use a BHO (IE8) to track which links a user clicks是否可以使用 BHO (IE8) 来跟踪用户点击的链接
【发布时间】:2011-02-03 02:44:59
【问题描述】:

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

【问题讨论】:

    标签: c# internet-explorer-8 bho


    【解决方案1】:

    如果你可以访问元素,你可以sink the DISPID_HTMLELEMENTEVENTS2_ONCLICK event(有时你不能访问另一个域中框架中的元素)

    哦,记得在 BeforeNavigate2 中分离您的事件。

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

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

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

        然后你的服务器日志会告诉你点击了哪一个。无需任何特定于 IE 的 hack。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-12-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多