ng-idle
IE9 および IE10 では動作しません。ページ上にマウス ポインターを置いたままにしておくと、ユーザーが非アクティブであるとは見なされません。マウスポインターをページの外に置いておくと、機能しています。
これに対する解決策を提供してください。
次の URL を使用して http://hackedbychinese.github.io/ng-idle/を確認してください
ng-idle
IE9 および IE10 では動作しません。ページ上にマウス ポインターを置いたままにしておくと、ユーザーが非アクティブであるとは見なされません。マウスポインターをページの外に置いておくと、機能しています。
これに対する解決策を提供してください。
次の URL を使用して http://hackedbychinese.github.io/ng-idle/を確認してください
交換
$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();
}
});
問題は 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');
}