php记录登录时间,php记录 用户当前页面停留时间
onunload +JS定時器 + ajax 實現
每秒寫一次數據庫肯定是不行的資源釋放都來不及,使用js計時器,在離開頁面時,調用ajax異步插入數據庫,即不延遲跳轉,也不會占用資源,插入完就釋放了
HTML onunload 事件屬性
定義和用法
onunload 屬性會在頁面下載時觸發(或者瀏覽器窗口已關閉)。
onunload 在用戶從頁面導航離開時發生(通過點擊鏈接、提交表單或者關閉瀏覽器窗口等等)。
注釋:如果您重載頁面,也會觸發 unload 事件(以及 onload 事件)。
記錄當前頁面存在時間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;
}
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的php记录登录时间,php记录 用户当前页面停留时间的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 淘宝淘气值办浦发信用卡
- 下一篇: php源码查找替换,php 替换模板中的