【问题标题】:How to restrict browser tab message while using ng-idle如何在使用 ng-idle 时限制浏览器选项卡消息
【发布时间】:2015-09-29 09:01:52
【问题描述】:

我在我的应用程序中使用了 AngularJS ng-idle。因此,当我移动到任何其他选项卡时,浏览器选项卡上会显示“您的会话已过期”消息。我需要 ng-idle 但不想显示该消息。我怎么能限制。请帮帮我

app.config(['KeepaliveProvider', 'IdleProvider', function(KeepaliveProvider, IdleProvider) {
          IdleProvider.idle(25);
          IdleProvider.timeout(25);
          KeepaliveProvider.interval(50);
        }]);

【问题讨论】:

    标签: angularjs browser angularjs-directive ng-idle


    【解决方案1】:

    您必须在标题中添加 idle-disabled="true"。

    例如:

    <title idle-disabled="true">Title</title>
    

    或者,如果您想显示不同的消息,您可以在控制器中执行:

    Title.idleMessage('Blaba {{minutes}}:{{seconds}} blablabla');
    

    【讨论】:

      【解决方案2】:

      如果您使用的是ng-idle v1.0.0 或更高版本,则有一个TitleService,其中包括一个TitleProvider 可以选择禁用默认启用的标题更改。

      所以在你的 snipeet 中,只需包含 TitleProvider.enabled(false)

      app.config(['KeepaliveProvider', 'IdleProvider', 'TitleProvider', function(KeepaliveProvider, IdleProvider, TitleProvider) {
                TitleProvider.enabled(false);
                IdleProvider.idle(25);
                IdleProvider.timeout(25);
                KeepaliveProvider.interval(50);
              }]);
      

      如果您需要更多定制,请阅读https://github.com/HackedByChinese/ng-idle/wiki/Title

      【讨论】:

        【解决方案3】:

        上一个答案是推荐的方法; 'hacky' 替代方法是修改 angular-idle.js,在第 340 行附近找到 'Title' 工厂并在第 363 行注释掉一条语句:

          value: function(val) {
            if (angular.isUndefined(val)) return $document[0].title;
        
            //$document[0].title = val; --comment this out
          },
        

        【讨论】:

          猜你喜欢
          • 2022-07-11
          • 1970-01-01
          • 1970-01-01
          • 2014-04-16
          • 2014-11-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多