js 获取页面停留时间

JavaScript06

js 获取页面停留时间,第1张

        (function(){

            var startTime = Math.ceil(new Date().getTime()/1000)//单位秒

            var play_time = ""

            //获取视频标签播发时间

            $('#video-active').on("timeupdate",function(event){

                       var all_time = this.duration

                       play_time = this.currentTime

                    })

               //初始化时间

                getDuration = function(){

                    var time = '',

                        hours = 0,

                        minutes = 0,

                        seconds = 0,

                        endTime = Math.ceil(new Date().getTime()/1000),

                        duration = endTime - startTime

                    if(play_time){

                        duration = play_time

                    }

                    // var g_time = ""

                    var dt = localStorage.getItem("param")

                    if(dt == null || dt == "" || dt == undefined){

                        localStorage.setItem("param", duration)

                        // data = param

                    }else{

                        duration = duration + parseInt(dt)

                    }

                    localStorage.setItem("param", duration)

                    hours = Math.floor(duration/3600)//停留小时数

                    minutes = Math.floor(duration%3600/60)//停留分钟数

                    seconds = Math.floor(duration%3600%60)//停留秒数

                    time = (hours <10 ? '0' + hours : hours) + ':' + (minutes <10 ? '0' + minutes : minutes) + ':' + (seconds <10 ? '0' + seconds : seconds)

                    $.ajax({

                        type: "POST",

                        url: "url",

                        data: {time: time,id: id,play_time: play_time},

                        success: function(data) {

                            console.log(data)

                        },

                        error: function() {

                        }

                    })

                }       

            //监听窗口关闭事件

            window.onbeforeunload = function(e){

                var duration = getDuration()

                //request(duration)

            }

        })()

    </script>

js如何保证时间精准不跳秒

js如何保证时间精准不跳秒

1. 使用`window.performance.now()`方法来获取高精度的时间戳,它会返回当前时间和距离页面加载的时间的差值,可以保证精准到微妙级别。

2. 使用`setTimeout()`和`setInterval()`函数来定时调用,这样可以保证时间的精准性。

3. 使用`Date.now()`方法来获取当前时间戳,它可以保证精准到毫秒级别。