javascript - 谷歌分析(不带标签管理器),发送带有哈希 URL 和 AJAX 的页面视图,SPA 类型的网络应用程序
问题描述
我们有一个我没有构建但需要跟踪分析的 Web 应用程序(AJAX/SPA 类型)。这些 URL 不是很好或没有语义,在大多数情况下它们是通过 Ajax 运行的。我真的无法控制生成的内容。我想做的是在 onClick 上调用一个函数,这样我就可以跟踪 Ajaxed 调用页面的“页面浏览量”。
在地址栏中生成的 URL 格式如下所示: https ://subdomain.mysite.com/subpage/myfoopage.html#details=ecatalogue.54321 https://subdomain.mysite.com/subpage/mybarpage。 html#details=ecatalogue.12345
鉴于 URL 中有一个哈希和一个句点,我不知道这将如何显示在 Analytics 中,在我向我的分析仪表板发送“发送”之前,我想我会寻求一些建议。先感谢您。
我正在考虑使用的当前代码是 ga set 和 ga send。但考虑到哈希值,我想知道是否应该使用 window.location.href 将其全部发送,或者我是否必须在将其发送到 Analytics 之前修改 URL。
所以目前,为了简单起见,只需使用 jQuery:
$(".somelink").on('click', function(){
//let the hash load
setTimeout(function(){
var myPath = window.location.href; //https://subdomain.mysite.com/subpage/myfoopage.html#details=ecatalogue.54321
ga('set', 'page', myPath);
ga('send', 'pageview');
},2000);
});
完整的路径会与散列和句点一起发送,还是会添加一个特殊的“+”字符或其他东西,还是我需要进行一些字符串解析以消除位置路径中的散列和句点?
提前致谢。
解决方案
哈希将通过。使用您的示例:
https://subdomain.mysite.com/subpage/myfoopage.html#details=ecatalogue.54321
在 GA 中,它会显示如下:
/https://subdomain.mysite.com/subpage/myfoopage.html#details=ecatalogue.54321
加上前面的 / ,因为您只应该发送页面路径。
所以我建议你从中解析出主机名和协议。
推荐阅读
- apache - 从 SSLVerifyClient 中排除路径需要
- c++ - 包含指向其他结构的指针向量的结构
- ios - 如何快速从谷歌地方接收国家代码
- sonarqube - 声纳扫描仪 T-SQL 无法解析文件
- php - 如何解决 PHP 中未定义的索引错误
- node.js - 如何避免 npm 错误,getaddrinfo ENOTFOUND?
- java - 增加 RecyclerView 项目的字体大小
- php - 如何在laravel中显示一些特殊字符的消息
- javascript - 使用嵌套的 for 循环创建模式?
- keyboard-shortcuts - 无法使用 4 个键设置键绑定(Ubuntu 18.04)