我有一个计时器来计算在页面上花费的时间。我正在使用https://github.com/jasonzissman/TimeMe.js
如果用户离开计算机或更改选项卡,计时器将停止(为了正确计算所花费的时间)。 这样,每5秒向服务器发送一次持续时间,如下所示。
setInterval(function() {
var timeSpentOnPage = TimeMe.getTimeOnCurrentPageInSeconds();
},5000);
我的问题是,如果用户离开计算机或更改标签,我的脚本将继续ping服务器,使用相同的" timeSpentOnPage"更新它。因为它在你不活跃时停止。
如果发生这种情况,我想停止将数据发送到服务器。
有什么可能的方法呢?也许比较两个不同的计时器?
答案 0 :(得分:0)
你可以尝试
$(window).on("blur unload",function() {
TimeMe.stopTimer();
}
$(window).on("focus",function() {
if (TimeMe) TimeMe.startTimer();
}
之前</body>
<script>
if (TimeMe) TimeMe.startTimer();
</script>
答案 1 :(得分:0)
hDB = MsiGetActiveDatabase(hMSI);
MsiDatabaseOpenView(hDB, "SELECT * FROM `Feature`", hView);
hRec = MsiCreateRecord(6);
MsiRecordSetString (hRec,1,"TEST");
MsiRecordSetString (hRec,3,"TEST");
MsiRecordSetInteger(hRec,5,2);
MsiRecordSetInteger(hRec,6,1);
MsiRecordSetString (hRec,7,INSTALLDIR);
MsiRecordSetInteger(hRec,8,0);
MsiViewModify(hView, MSIMODIFY_INSERT_TEMPORARY, hRec);
MsiCloseHandle(hRec);
MsiCloseHandle(hRec);
MsiCloseHandle(hView);
MsiCloseHandle(hDB);
&#13;