Google Reader verfügt über eine nette Funktion: Wenn Sie von einer anderen Webseite zur Webseite wechseln (und den Seitenfokus festlegen), werden dort die Aktualisierungen angezeigt, die dort gesammelt wurden, während die Seite nicht fokussiert war.
Kurze Frage Nr. 1: Wie haben sie das gemacht?
Ich gehe davon aus, dass sie möglicherweise an die Mausbewegungs- und Tastaturereignisse gebunden sind, da ich kein sofort einsatzbereites Ereignis kenne, das Ihnen diese Fähigkeit verleiht.
Danach zu googeln ist ein Albtraum (Fokus, Tab, Webseite, Benutzer).
Kurze Frage Nr. 2: Gibt es da draußen ein Paket, das mir diese Fähigkeit gibt?
Ich setze das jQuery-Tag als Signal für alle Webentwickler-Ninjas da draußen, aber das Framework interessiert mich nicht wirklich (solange es Javascript ist).
Versuchen Sie es mit jQuery focus
Und blur
Funktionen:
$(window).focus(function() {
console.log('welcome (back)');
});
$(window).blur(function() {
console.log('bye bye');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Click in and out of this frame to test the focus and blur functions.
Ich habe in FF getestet und document.onfocus
wird aufgerufen, wenn ich zu diesem Fenster wechsle.
Verwenden focusin
(Fokus) und focusout
(Unschärfe) auf der document
Objekt:
$(document).bind('focus', function() {
console.log('welcome (back)');
}).bind('blur', function() {
console.log('bye bye');
});
Das Gegenteil von Fokus ist Unschärfe.
document.addEventListener("focus", function(){
console.log("Page in focus")
})
document.addEventListener("blur", function(){
console.log("Page out of focus")
})
Es gibt einen Unterschied zwischen den in anderen Antworten diskutierten Fokus-/Unschärfeereignissen und der tatsächlichen Sichtbarkeits-API. Die beste Quelle hierfür sind die Dokumente bei MDN: https://developer.mozilla.org/en-US/docs/Web/API/Page_Visibility_API