javascript - 使用不同的鼠标点击跟踪同一事件

标签 javascript html google-analytics

我正在尝试找出使用 Google Analytics (UA) 跟踪网页中文件下载(特别是 pdf 文件)的最佳方法。我知道与

<a href="book.pdf" onClick="ga('send','event','PDF Downloads','Click','Book');">Download Book</a>

我可以跟踪通过(左键)单击链接触发的那些事件。如何跟踪同一事件但右键单击和中键单击操作?我对按点击类型分隔事件不感兴趣,而只是想更准确地测量文件的下载次数。

我第一次尝试解决这个问题是使用 oncontextmenuauxclick分别用于右键单击和中键单击。所以我最终会得到类似的结果:

<a href="book.pdf" onClick="ga('send','event','PDF Downloads','Click','Book');"
             oncontextmenu="ga('send','event','PDF Downloads','Click','Book');"
                  auxclick="ga('send','event','PDF Downloads','Click','Book');">
                  Download Book</a>

但是重复ga('send','event','PDF Downloads','Click','Book');三遍看起来很乱而且容易出错。实现这一点的最佳方法是什么?

诗。有多好auxclick跟踪中键点击事件?

最佳答案

$(document).on('mousedown', '.track', function(e){
  //e.which  1 = left click,  2 = middle click, 3 = right click
  
  //track by book url (http://example.com/book.pdf)
  ga('send', 'event', 'PDF Downloads', 'Click', this.href);
  
  //track by book title (Book Title 2)
  ga('send', 'event', 'PDF Downloads', 'Click', $(this).data('book'));

  //track by button contents (Download Book 2)
  ga('send', 'event', 'PDF Downloads', 'Click', $(this).text());

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<a href="book.pdf" class="track" data-book="Book Title 1">Download Book 1</a>

<a href="book.pdf" class="track" data-book="Book Title 2">Download Book 2</a>

关于javascript - 使用不同的鼠标点击跟踪同一事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44742505/

相关文章:

google-analytics - Google Analytics(分析)和Sharepoint Online

javascript - 我如何在 jquery 中将下拉列表设置为只读?

javascript - 创建触发第二个事件的事件

正则表达式仅匹配正斜杠

android - 使用 Firebase Analytics 进行广告系列跟踪

javascript - 仅在另一个函数完成时运行一个函数

javascript - 条件语句返回输入框中的值

javascript - 使用 Jquery 的可链接选项卡

javascript - iframe 之间通信

html - css 不工作但样式 =""是