3

ng-idleIE9 および IE10 では動作しません。ページ上にマウス ポインターを置いたままにしておくと、ユーザーが非アクティブであるとは見なされません。マウスポインターをページの外に置いておくと、機能しています。

これに対する解決策を提供してください。

次の URL を使用して http://hackedbychinese.github.io/ng-idle/を確認してください

4

2 に答える 2

2

交換

$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();
    }
});
于 2015-06-15T06:12:44.710 に答える
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'); 
        } 
于 2015-06-11T13:25:55.130 に答える