在angular中,我使用了“ngidle”包注销非活动登录。我在两个不同的应用程序中使用了“ng idle”包。当我一次在浏览器中打开一个应用程序时,它就会正常工作。但当我在同一浏览器的两个不同选项卡中打开这两个应用程序时,其中一个应用程序在非活动状态下不会注销。
我的代码段(仅用于信息的基本代码段):
import { Idle, DEFAULT_INTERRUPTSOURCES } from '@ng-idle/core';
import { Keepalive } from '@ng-idle/keepalive';
constructor(private idle: Idle, private keepalive: Keepalive) {
idle.setIdleName('app1');
idle.setIdle(30);
idle.setTimeout(1);
idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);
}
this.unsubscribeData1 = idle.onIdleEnd.subscribe(() => this.idleState = 'No longer idle.');
this.unsubscribeData2 = idle.onTimeout.subscribe(() => {
//logout related script logic
});
同样,我在另一个应用程序中使用了'ngidle'和'idle.setIdleName('app2')'
当我一次打开一个应用程序时,它可以正常工作。但当我在同一浏览器的不同选项卡中打开这两个应用程序时,就不起作用了。一个应用程序在非活动状态下无法注销。
请给我建议解决方案。