如何在使用ng-idle时限制浏览器选项卡消息

时间:2015-09-29 09:01:53

标签: angularjs browser angularjs-directive ng-idle

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

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

3 个答案:

答案 0 :(得分:3)

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

例如:

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

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

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

答案 1 :(得分:3)

如果您使用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

答案 2 :(得分:2)

以前的答案是建议的方法; &#39; hacky&#39;另一种方法是修改angular-idle.js,找到&#39;标题&#39;工厂绕过340号线并在第363行注释掉一条陈述:

  value: function(val) {
    if (angular.isUndefined(val)) return $document[0].title;

    //$document[0].title = val; --comment this out
  },