- Like con una tecla. Pulsas
L y la extensión da like al vídeo que estás viendo, sea un Short o un vídeo normal. Si ya le habías dado, lo quita. - Atajo a tu gusto. Cualquier tecla, con Ctrl, Shift o Alt si quieres. Se cambia desde el popup pulsando la tecla nueva.
- No molesta al escribir. Mientras comentas o buscas, el atajo no hace nada.
- Solo Shorts, si lo prefieres. Un interruptor para que en los vídeos normales
L siga avanzando 10 segundos, como siempre en YouTube. - Confirmación opcional. Un pequeño sonido y un corazón o pulgar flotando sobre el vídeo. Las dos cosas vienen desactivadas.
- 15 idiomas y ningún dato recogido: no hay servidor, ni analítica, ni cuentas.
Es una extensión Manifest V3 hecha con WXT y TypeScript. Toda la lógica vive en un único content script que se carga en youtube.com. El popup solo guarda las preferencias en chrome.storage.sync, y el content script las escucha en vivo: un cambio se aplica sin recargar la pestaña y se sincroniza entre tus equipos.
En los vídeos normales, L ya significa algo en YouTube: avanzar 10 segundos. La extensión escucha el teclado en la fase de captura de window, que va antes que cualquier manejador de la página, y detiene el evento para que el vídeo no salte.
YouTube cambia el componente del like según la versión de la interfaz y el ancho de la ventana, y deja en la página variantes ocultas del mismo botón. La extensión prueba cuatro estrategias en orden y solo pulsa un botón que tenga tamaño real en pantalla.
- El vídeo avanzaba además de recibir el like. La primera versión escuchaba en
document, y el reproductor ya había avanzado cuando la extensión cancelaba el evento. Lo arreglé pasando a la fase de captura en window. - Likes que no se registraban en vídeos normales. Con la reproducción automática, YouTube reconstruye el botón entre vídeo y vídeo y durante un instante no responde. Ahora la extensión espera a que termine la navegación, comprueba después del clic que el like ha entrado y, si no, reintenta una vez.
- Un fallo que desaparecía al abrir DevTools. Al acoplar las herramientas de desarrollo, la ventana se estrecha y YouTube cambia de interfaz. El fallo solo aparecía con cierto ancho, así que para depurarlo había que abrir DevTools en una ventana aparte.
offsetParent mentía. Devuelve null en elementos con position: fixed, y algunos layouts de YouTube los usan. Lo sustituí por getBoundingClientRect(), que distingue también las variantes ocultas.