0

如果我们在多个选项卡中使用相同的应用程序,则两个应用程序都使用相同的本地存储来存储 ngIdle.expiry,并且一个应用程序扩展另一个应用程序的会话。在当前版本中是否有解决此问题的方法,例如配置会话存储而不是本地存储或更改 ngIdle.expiry 中的 id 字段。

4

2 回答 2

2

ng-idle文档中,我看不到更改要使用的存储的方法。

因此,您可以在代码库中保留项目的副本(或发送 PR),并将行更改为使用sessionStorage。它可能只是按照您的意愿工作。

于 2018-03-09T11:05:00.947 回答
2

我知道这已经过时了,但是对于其他搜索此主题的人来说,是的,如果您使用的是 ng2-idle (Angular 2+),那么有一种内置的方法可以做到这一点。

在您的 app.module.ts 中,您需要在提供程序部分提供 SimpleExpiry:

@NgModule({
declarations: [ . . .],
imports: [ . . . ],
providers: [
    . . .
    {
        provide: IdleExpiry,
        useClass: SimpleExpiry
    }
]

有关更多信息,请参阅https://github.com/moribvndvs/ng2-idle#extensible-expiry

于 2020-02-10T21:23:57.713 回答