Shay Erlichmen
Google Reader tiene una buena característica que cuando cambia a la página web desde una página web diferente (dando el foco a la página) le mostrará las actualizaciones que se acumularon mientras la página estaba desenfocada.
Pregunta rápida #1: ¿Cómo lo hacen?
Me imagino que podrían vincularse a los eventos de movimiento del mouse + eventos del teclado, ya que no conozco ningún evento listo para usar que le brinde esa capacidad.
Buscar en Google es una pesadilla (foco, pestaña, página web, usuario).
Pregunta rápida #2: ¿Hay algún paquete por ahí que me dé esa habilidad?
Estoy poniendo la etiqueta jQuery como un faro para todos los ninjas de los desarrolladores web, pero realmente no me importa el marco (siempre que sea Javascript)
PeeHaa
Intenta usar jQuery’s focus
y blur
funciones:
$(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.
-
jquery focus no actúa como hover (función (), función ()) (lo cual es una pena), necesitaba vincularme al evento de desenfoque para “focusOut”
– Shay Erlichman
10 de enero de 2011 a las 20:53
-
Bien jajaja. Ofc tienes razón. Mi error, cambié los dos. Sin embargo, debería actuar como dijiste 🙂 Sería una buena característica. Gracias por mejorarlo y aceptarlo :).
– Pee Haa
10 de enero de 2011 a las 21:40
Probé en FF y document.onfocus
se llama cuando cambio a esa ventana.
jAndy
Usar focusin
(enfoque) y focusout
(desenfoque) en el document
objeto:
$(document).bind('focus', function() {
console.log('welcome (back)');
}).bind('blur', function() {
console.log('bye bye');
});
-
No creo que OP quiera recibir una notificación cada vez que cualquier campo de la página reciba el foco. Justo cuando cambias a una página.
–Ruan Mendes
10 de enero de 2011 a las 20:39
Lo opuesto al enfoque es el desenfoque.
document.addEventListener("focus", function(){
console.log("Page in focus")
})
document.addEventListener("blur", function(){
console.log("Page out of focus")
})
Hay una diferencia entre los eventos de enfoque/desenfoque discutidos por otras respuestas y la API de visibilidad real. El mejor recurso para esto son los documentos en MDN: https://developer.mozilla.org/en-US/docs/Web/API/Page_Visibility_API