我在我的应用程序中使用了AngularJS ng-idle。因此,当我移动到任何其他选项卡时,“您的会话已过期”消息显示在浏览器选项卡上。我需要ng-idle但不想显示该消息。我该如何限制?请帮助
app.config(['KeepaliveProvider', 'IdleProvider', function(KeepaliveProvider, IdleProvider) {
IdleProvider.idle(25);
IdleProvider.timeout(25);
KeepaliveProvider.interval(50);
}]);
答案 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
},