我使用的是AngularJs
版本1.4,我需要检测用户何时不在我应用的标签页上以及何时回来,所以我尝试以这种方式使用$ watch:
$rootScope.$watch(angular.bind($window, function(document){
return this.document.visibilityState
}), function (n, o) {
if (n === 'visible' && o == 'hidden') {
console.log('Im back')
}
})
当我回到选项卡时,需要花费很多时间直到它在更改时激活响应功能,例如5秒钟。
任何人都知道为什么?
答案 0 :(得分:0)
您可以尝试onfocus和onblur of window:
window.onblur = function() { console.log('blur'); }
window.onfocus = function() { console.log('focus'); }
它适用于简单的java脚本。 在角度你可以试试这个
$window.onblur = function() { console.log('blur'); }
$window.onfocus = function() { console.log('focus'); }