2017-07-12 3 views
0

Ich benutze AngularJs Version 1.4, muss ich erkennen, wenn Benutzer nicht auf der Registerkarte der meine App ist und wenn er zurückkommt, so versuchte ich mit $ sehen so aus:

$rootScope.$watch(angular.bind($window, function(document){ 
    return this.document.visibilityState 
}), function (n, o) { 
    if (n === 'visible' && o == 'hidden') { 
     console.log('Im back') 
    } 
}) 

Das Problem, dass, wenn ich auf die Registerkarte zurück es viel Zeit in Anspruch nimmt, bis er die Antwortfunktion auf Änderung aktiviert, so etwas wie 5 Sekunden.

Wer hat eine Idee warum?

Antwort

0

Sie können onfocus versuchen und onblur von Fenstern:

window.onblur = function() { console.log('blur'); } 
window.onfocus = function() { console.log('focus'); } 

Es arbeitet mit einfachen Java-Skript. In eckigen können Sie versuchen, diese

$window.onblur = function() { console.log('blur'); } 
$window.onfocus = function() { console.log('focus'); } 
+0

Vielen Dank :) –

Verwandte Themen