编程语言
首页 > 编程语言> > javascript – 跟踪按钮点击次数

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