多个选项卡的 Ng-Idle 问题

Ng-Idle issue with multiple tabs

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

中的 id 字段

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

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

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

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

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

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