javascript – 跟踪按钮点击次数
作者:互联网
作为新产品指标的一部分,我们需要衡量页面上的后退按钮点击次数.
由于该站点不是AJAX而且我们在“pushState”中没有使用,因此在浏览器中单击返回时不会触发“popState”.
捕获后退按钮事件的唯一目的是注册分析事件.
谷歌搜索了几个小时后,尝试了几种不同的解决方案,我出现了空洞 – 奇怪的是,javascript似乎没有配备这样的任务.
话虽如此,这不是一个有效的回答:)你会如何处理这样的要求?
请注意 – 获得赏金的答案并未解决我的问题,但由于努力,我已经给予了赏金.在这种情况下,这是最好的答案
解决方法:
您可以捕获window.onbeforeunload()并使用cookie来存储每个后退按钮点击的后退按钮点击次数,您可以更新cookie.试试吧.
使用您可以实现的popstate和cookies
我使用了一个名为cookie的插件
并将它们导入您的页面.
这是导入.
<script src="/jqueries/jquery.cookie.js"></script>
这是我使用的代码.
$(window).on('popstate', function () {
var val = 1;
if (typeof $.cookie('example') === 'undefined') {
//no cookie
} else {
//have cookie
val = parseInt($.cookie("example")) + 1;
$.removeCookie("example");
}
$.cookie("example", val, { expires: 7 });
//alert($.cookie("example"));
});
它的juzz是一个粗略的代码你可以把它做成你想要的它将创建pushstate
将其添加到脚本中..
HTML中只有DEMO内容
<input type="text" id="t1" />
<input type="text" id="t2" />
<input type="text" id="t3" />
<input type="text" id="t4" />
<input type="text" id="t5" />
这些是没有AJAXify的HTML5 pushstate脚本.试试这些……
$('#t1').click(function () {
if (window.history.replaceState) {
window.history.pushState('', 'Title', '/YourPagename/123/1234');
}
});
$('#t2').click(function () {
if (window.history.replaceState) {
window.history.pushState('', 'Title', '/YourPagename/123/12345');
}
});
$('#t3').click(function () {
if (window.history.replaceState) {
window.history.pushState('', 'Title', '/YourPagename/123/123456');
}
});
等等.为其他人声明这些
通过这种方式是可能的.
这部分是为了获取传递的url值,这里t1,t2将获得与url相关的值
var ourl = "", t1 = "", t2 = "";
if (window.history.replaceState) {
ourl = document.URL.toString();
var url = document.URL.toString().replace('http://', '');
var cnt = 0;
for (i = 0; i < url.length; i++) {
if (url[i] == '/') {
cnt++;
}
else if (cnt == 2) {
t1 += url[i];
}
else if (cnt == 3) {
t2 += url[i];
}
}
}
标签:jquery,javascript,back,google-analytics,html5-history 来源: https://codeday.me/bug/20190628/1320713.html