【发布时间】:2018-04-02 11:06:25
【问题描述】:
我正在使用 Piwik/Matomo 的跟踪器为我的用户提供自定义 JS 跟踪器,并提供一个为他们量身定制的精选分析仪表板。我一直面临的一个问题是验证跟踪器是否已安装并正常工作。
我尝试使用file_get_contents 和/或cURL 来获取页面并检查跟踪器是否存在,但这并不总是有效。所以我试图模拟一次访问,看看跟踪器是否会在它发生时向我发送任何数据。
由于 fget/curl 不触发 javascript,是否有替代(和轻量级)方法来触发页面的 javascript 并触发访问以进行测试?
更新:我按照建议使用 PhantomJS 实现了这个,整体功能是这样的。还没有对我所有的用户进行广泛的测试,有没有更优雅的解决方案? -
checktracker
{
if (data exists & data > 0)
{
return true
}
else if (data exists & data = 0)
{
simulate visit with phantomJS //Relevant to question
check again
if ( still 0 )
{
return false
}
else
{
return true
}
}
else
{
invalid site id
}
}
【问题讨论】:
-
JS 跟踪器只是向跟踪 API 发出请求。 developer.matomo.org/api-reference/tracking-api你可以使用任何你想访问的HTTP API。
-
@LukasWinkler 这只会确认服务器正在接收跟踪器的输入,但它如何确认实际的 JS 跟踪器存在且正常运行?
-
您可以使用phantomjs 获取页面 - 它会像您的浏览器一样加载它并因此执行 JS 并触发您的跟踪请求
标签: javascript php matomo