ng-idle
在IE9和IE10中无效。假设您将鼠标指针放在页面上,则不会考虑用户处于非活动状态。当你保持鼠标指针位于页面之外时,它正在工作。
请为此提供解决方案。
使用以下网址进行检查 http://hackedbychinese.github.io/ng-idle/
答案 0 :(得分:1)
似乎问题出在mousemove事件上,快速修复它可以删除IE浏览器的mousemove事件。使用useragent编写条件语句,并使用interrupt()
ng-idle
方法配置事件。
if (navigator.userAgent.toLowerCase().indexOf("msie") > 0) {
// Code for Internet Explorer because ng-idle doesn't stop listening mousemove event.
IdleProvider.interrupt('keydown DOMMouseScroll mousewheel mousedown touchstart touchmove scroll');
}
else {
IdleProvider.interrupt('mousemove keydown DOMMouseScroll mousewheel mousedown touchstart touchmove scroll');
}
答案 1 :(得分:1)
替换 $ document.find(' body')。on(options.interrupt,function(event){
svc.interrupt();
} 使用angular-idle.js中的以下代码
$ document.find(' body')。on(options.interrupt,function(event){
if (event.type !== 'mousemove' || (event.movementX || event.movementY)) {
svc.interrupt();
}
});