【问题标题】:How to use the events 'pause' and 'resume' in an Angular/Ionic project?如何在 Angular/Ionic 项目中使用事件“暂停”和“恢复”?
【发布时间】:2015-06-19 00:51:47
【问题描述】:

在 Angular/Ionic 项目中,我应该在哪里使用以下属性来适当地处理我的需求?

document.addEventListener('pause', actiontobeperformed, false);
document.addEventListener('resume', actiontobeperformed , false);

我的需求是:

我正在构建一个受保护的应用程序,这意味着您只能在以下情况下查看内容:

您输入了正确的访问代码 你的会话没有超时 但是当你回到主页时,我想以某种方式记录会话结束并且用户在返回应用程序时需要进行身份验证。

【问题讨论】:

标签: javascript android ios cordova ionic-framework


【解决方案1】:

如果您使用 Ionic,则应使用 $ionicPlatform Service,它是 ionic.Platform 的抽象。 read more

$ionicPlatform.on('resume', function(){
      // your staff here
});

$ionicPlatform.on('pause', function(){
      // your staff here
});

所以如果你想在用户按下 Home 按钮时关闭会话,你应该在 Pause 代码块中调用你的 AuthService.logout() 方法。

【讨论】:

    【解决方案2】:

    实现您所描述的功能的最简单方法是这样的:

    在用户使用他的凭据验证他的会话后,您可以在 localStorage 中设置一个值,例如localStorage.login=1;

    您现在添加用于暂停的事件监听器,例如 document.addEventListener('pause', actiontobeperformed, false);,然后调用函数 actiontobeperformed

    function actiontobeperformed() {
        localStorage.login=0;
    }
    

    您仍然需要一个检查登录状态的函数。因此,您可以使用 if else 语句

    if (localStorage.login == 1) {
        goto menu;
    } else {
        goto loginpage;
    } 
    

    【讨论】:

      【解决方案3】:
      $(document).ready(function () {
          document.addEventListener('pause', actiontobeperformed, false);
          document.addEventListener('resume', actiontobeperformed , false);
      });  
      

      在您的 js 第一行或 html 中的 script 标签中

      【讨论】:

      • 谢谢。我会将这段代码放在 Angular 项目中的什么位置?
      【解决方案4】:

      cordova pause event 可能是您的答案。

      当他们回来时resume

      【讨论】:

      • 谢谢。我会将这段代码放在 Angular 项目中的什么位置?
      • @JohnAndrews 我不知道,抱歉。我看到问题已经改变了。
      猜你喜欢
      • 2017-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-03
      • 1970-01-01
      • 1970-01-01
      • 2020-07-23
      • 2018-04-08
      相关资源
      最近更新 更多