php记录登录时间,php记录 用户当前页面停留时间
onunload +JS定時器 + ajax 實現(xiàn)
每秒寫一次數(shù)據(jù)庫肯定是不行的資源釋放都來不及,使用js計時器,在離開頁面時,調(diào)用ajax異步插入數(shù)據(jù)庫,即不延遲跳轉(zhuǎn),也不會占用資源,插入完就釋放了
HTML onunload 事件屬性
定義和用法
onunload 屬性會在頁面下載時觸發(fā)(或者瀏覽器窗口已關(guān)閉)。
onunload 在用戶從頁面導(dǎo)航離開時發(fā)生(通過點擊鏈接、提交表單或者關(guān)閉瀏覽器窗口等等)。
注釋:如果您重載頁面,也會觸發(fā) unload 事件(以及 onload 事件)。
記錄當(dāng)前頁面存在時間var ele_timer = document.getElementById("timer");
var n_sec = 0; //秒
var n_min = 0; //分
var n_hour = 0; //時
//60秒 === 1分
//60分 === 1小時
function timer() {
return setInterval(function () {
var str_sec = n_sec;
var str_min = n_min;
var str_hour = n_hour;
if ( n_sec < 10) {
str_sec = "0" + n_sec;
}
if ( n_min < 10 ) {
str_min = "0" + n_min;
}
if ( n_hour < 10 ) {
str_hour = "0" + n_hour;
}
var time = str_hour + "," + str_min + "," + str_sec;
ele_timer.value = time;
n_sec++;
if (n_sec > 59){
n_sec = 0;
n_min++;
}
if (n_min > 59) {
n_sec = 0;
n_hour++;
}
}, 1000);
}
var n_timer = timer();
function test(){
var ele_timer = $("#timer").val();
$.ajax({
url: "{:U('Index/index2')}",
type: "post",
data: {
ele_timer:ele_timer,
},
dataType: "json",
success: function(data) {}
});
}
后臺代碼:
public function index(){
dump(session('ele_timer'));
$this->display();
}
public function index2(){
$ele_timer = I('ele_timer');
session('ele_timer',$ele_timer);
return true;
}
public function index_post(){
dump(I(''));
dump(session('ele_timer'));
die;
}
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的php记录登录时间,php记录 用户当前页面停留时间的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 淘宝淘气值办浦发信用卡
- 下一篇: php源码查找替换,php 替换模板中的