【发布时间】:2018-07-17 20:22:02
【问题描述】:
我需要知道用户何时切换回包含我的页面的选项卡。我尝试了 visibllity 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”标签,没有区别。 我错过了什么吗? 谢谢
【问题讨论】: