我需要知道用户何时切换回包含我的页面的选项卡。我尝试了Visiblity API,但是在切换选项卡时,我的订阅没有被触发。我订阅了许多事件,除了切换选项卡之外,所有事件都会触发。
代码如下:
private subscribeToActionEvents() {
this._zone.runOutsideAngular(() => {
const actionEventNames = ['mousemove', 'scroll', 'keyup',
'hidden', 'webkitHidden', 'visibilitychange', 'webkitvisibilitychange', 'msvisibilitychange'];
const events = actionEventNames.map((eventName) => {
let el = this._element.nativeElement;
return Observable.fromEvent(jQuery(el).closest('body'), eventName);
});
const allActionEvents$ = Observable.merge(...events);
this._subscriptions$.push(allActionEvents$.subscribe((event) => {
this._registerUserActivity();
})
);
});
}
我甚至尝试附加到“html”而不是“body”标记,没有区别。
我遗漏了什么吗?
谢谢