我个人不使用Piwik。我开发了一个用于在SharePoint中创建菜单系统的JavaScript工具/库,并且使用我的库的人询问是否要合并Piwik。
根据我的阅读,我可以看到Piwik捕捉/追踪click
事件。我怀疑它默认为具有<a>
属性的href
标记执行此操作。
我的JS库使用<div>
事件创建onclick
元素。我已阅读并理解我可以使用Piwik的trackLink
函数函数手动触发单击事件。我想避免这样做有很多原因。
所以我想知道Piwik究竟如何跟踪点击事件,这样我就可以弄清楚如何以更一般的方式将其合并。我想也许我可以通过创建一个onclick
元素并执行它的<a>
事件来使我的click
事件假冒某事,但不确定这是否有效。
答案 0 :(得分:1)
看看Piwik的JS tracker source code。
例如:
默认行为是使用实际点击事件。但是,某些浏览器(例如Firefox,Opera和Konqueror)不会为鼠标中键生成点击事件。
为了捕获更多&#34;点击&#34;,伪点击处理程序使用mousedown + mouseup事件。这不是行业标准,容易受到误报(例如拖拽事件)的影响。
function addClickListener(element, enable) {
addEventListener(element, 'click', clickHandler(enable), false);
if (enable) {
addEventListener(element, 'mouseup', clickHandler(enable), false);
addEventListener(element, 'mousedown', clickHandler(enable), false);
addEventListener(element, 'contextmenu', clickHandler(enable), false);
}
}
答案 1 :(得分:1)
IMTheNachoMan,你非常接近解决方案。
Matomo(Piwik)包含Javascript trackEvent(category, action, [name], [value])
。通过onclick事件和_paq.push(['trackEvent', 'Event Category', 'Event Action', 'Event Name'])
,您可以使用它。
请在此处查看此解决方案,其中包含代码段和屏幕截图:http://pen-ultima.blogspot.com/2018/01/matomo-internal-link-track.html