我有一个具有自动注销功能的 ionic 应用程序。当用户执行任何操作时,我需要延长 session 超时。我将剩余时间存储在本地存储中(使用 localStorageService)。
当用户更改屏幕或单击按钮时,我可以延长时间,但我不确定如何在其余元素上执行此操作。
我只需要一种方法来捕获任何操作(单击背景、聚焦元素、按下按钮)等。最简单的方法是什么?谢谢。
最佳答案
您应该能够监听 touchend
事件,并保持超时;像这样的东西:
.controller("AppCtrl", function ($scope, $timeout) {
var timeoutPromise,
$body = document.querySelector("body");
function logout () {
// do logout work here
}
function resetTimer () {
$timeout.cancel(timeoutPromise);
timeoutPromise = $timeout(logout, 60000); // log out after 60 seconds
}
ionic.on("touchstart", resetTimer, $body);
ionic.on("touchend", resetTimer, $body);
resetTimer();
});
一些来源:
http://ionicframework.com/docs/api/utility/ionic.EventController/ https://docs.angularjs.org/api/ng/service/$timeout
关于javascript - 在 Angular/ ionic 应用程序中捕获任意位置的点击/按下按钮/输入焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34652096/