在我的Angularjs应用程序中,我有一个限制:如果用户手动更改系统日期,应用程序将开始使用该日期进行所有UI操作。
我想检测用户是否已将其系统日期手动更改为某个较旧的日期,并将其与存储在我的Cookie中的服务器日期进行比较并向他发送错误。 我尝试使用:
$window.addEventListener('timeupdate', function() {
alert('I changed');
});
但这没效果。 Angular有没有办法做到这一点。
答案 0 :(得分:0)
您可以使用jQuery触发timeupdate事件。
$('#testvid').on('timeupdate', function(){
console.log('the time was updated to: ' + this.currentTime);
});
此处#testvid
是html元素的id。
答案 1 :(得分:0)
正如我的评论中所述,您可以使用setInterval
在特定时间间隔内检查日期更改。它可以在Angular中完成,如下所示:
var app = angular.module('dateChecker', []);
app.controller('MainCtrl', function($scope, $interval) {
function getTodaysDate(){
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
var yyyy = today.getFullYear();
if(dd<10) {
dd='0'+dd
}
if(mm<10) {
mm='0'+mm
}
today = mm+'/'+dd+'/'+yyyy;
return today;
}
$scope.oldDate = getTodaysDate();
$interval(function dateChecker() {
if($scope.oldDate === getTodaysDate()){
console.log('No change');
} else {
console.log('date changed');
}
}, 1000);
});
每秒检查一次时间并相应更新。
我只检查上面date
忽略时间,你可以根据需要改变条件。