码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript 实现用户行为日志收集(定时、定量以及关闭浏览器时向后台发送数据)

时间:2021-01-25 11:19:56      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:each   fun   发送数据   ++   tar   test   local   log   localhost   

<button onclick="addLog()"> 记录日志</button>

<script>
var foo = function (){
    var queue = [];
    var timeInterval;
    var intervalInit = 10;
	var maxLogNum = 10;

    function clear () {
        queue.forEach(el => el())
        queue.length = 0
        window.clearInterval(timeInterval)
		//发送日志数据
        //var ajax = new XMLHttpRequest();
        //ajax.open("GET", ‘http://localhost:8754/api/test/ok‘, true)
        //ajax.send(null);
    }
    window.onbeforeunload  = clear
    function keepTime () {
        if (intervel == 0) {
            clear()
        }
        console.log("interval",intervel)
        intervel --;
    }
    return {
        add: function (call) {
            window.clearInterval(timeInterval)
            timeInterval = setInterval(keepTime,1000)
            intervel = intervalInit
            queue.push(call)
            queue.length > maxLogNum && clear()
        },
        clear
    }
}

var target = foo()
var index = 0
function addLog(){
    target.add(_ => {
        console.log("TODO...",index ++)
    })
}
</script>

JavaScript 实现用户行为日志收集(定时、定量以及关闭浏览器时向后台发送数据)

标签:each   fun   发送数据   ++   tar   test   local   log   localhost   

原文地址:https://www.cnblogs.com/believexin/p/14317421.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!