我正在尝试找出使用 Google Analytics (UA) 跟踪网页中文件下载(特别是 pdf 文件)的最佳方法。我知道与
<a href="book.pdf" onClick="ga('send','event','PDF Downloads','Click','Book');">Download Book</a>
我可以跟踪通过(左键)单击链接触发的那些事件。如何跟踪同一事件但右键单击和中键单击操作?我对按点击类型分隔事件不感兴趣,而只是想更准确地测量文件的下载次数。
我第一次尝试解决这个问题是使用 oncontextmenu
和auxclick
分别用于右键单击和中键单击。所以我最终会得到类似的结果:
<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/