2017-09-07 7 views
0

私たちは、Angularjs 1.5とNg-Idleモジュールを使用して、アプリケーションで特定の間隔でユーザーの非アクティブ時間を取得しています。 Idle startとIdle endに基づいてユーザセッションをリフレッシュするためにタイムアウトに達すると警告ウィンドウが表示されます。このアプローチは、ユーザーが実際には非アクティブであるため、スクロールしたり、マウスをクリックしたり何かを入力したりするのではなく、アプリケーション上でマウスを動かすだけでユーザーが画面上でアクティブであることを検出しません。とにかく、Ng_Idleモジュールでマウスオーバーのようにキャプチャするイベントを追加して、それ以上のイベントによって非アクティブを中断させることはありますか?Ng-Idleモジュールにマウスオーバーイベントを含める方法

Please find the code snippet, it is referred from here

http://hackedbychinese.github.io/ng-idle/ 

         function closeModals() { 
         if ($scope.warning) { 
          $scope.warning.close(); 
          $scope.warning = null; 
          //refreshing the session from server 
         } 
         if ($scope.timedout) { 
          $scope.timedout.close(); 
          $scope.timedout = null; 
         } 
         } 
         $scope.$on('IdleStart', function() { 
         closeModals(); 
          $scope.warning = $uibModal.open({ 
          templateUrl: 'warning-dialog.html' 
          }); 
         }); 

         $scope.$on('IdleEnd', function() { 
         closeModals(); 
         }); 
         $scope.$on('IdleTimeout', 
             function() { 
             closeModals(); 
              $scope.timedout = $uibModal.open({ 
              templateUrl: 'timedout-dialog.html' 
              }); 
              $timeout(
               function() { 
                //logout the application 
               }, 72000); 
             }); 
+0

ような角度のネイティブディレクティブイベントでNG-アイドルイベントをバインドすることでしょう。これまでに何を試しましたか? – lin

答えて

0

ドキュメントには、このような機能を提供していないようです。

ただし、これを行う方法は複数あります。そのうちの一つは、単にいくつかのコードを表示するだけで、この

angular.module('myApp') 
 
    .controller('MyCtrl', function($scope) { 
 
    $scope.$on('IdleTimeout', function(){ 
 
     renderModal(); 
 
    }); 
 
    
 
    $scope.$on('IdleStart', function(){ 
 
     createModal(); 
 
    }); 
 
    
 
    $scope.$on('IdleEnd', function(){ 
 
     closeModal(); 
 
    }); 
 
    
 
    $scope.mouseenter = function(){ 
 
     $scope.$emit('IdleEnd'); 
 
    }; 
 
    })
<div ng-app="myApp"> 
 
    <div ng-controller="MyCtrl"> 
 
    <div ng-mouseenter="mouseenter()">Hover Me to Stop</div> 
 
    </div> 
 
</div>

関連する問題