← Proyectos

YouTube Like Shortcut

Extensión de Chrome que da like al vídeo o Short de YouTube que estás viendo con una tecla, como en TikTok. Atajo configurable con modificadores, modo solo Shorts, sonido y animación opcionales, en 15 idiomas y sin recoger ningún dato.

El popup de opciones en tres estados, con la tecla L, con Shift + L recién guardado y con el aviso de reseña
usuarios
+240
usuarios
idiomas
15
idiomas
formas de encontrar el botón
4
formas de encontrar el botón
datos recogidos
0
datos recogidos

Qué hace

  • 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.

Cómo está hecho

Un content script y un popup

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.

Llegar antes que YouTube

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.

Encontrar el botón correcto

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.

Problemas que resolví

  • 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.

Stack

WXTTypeScriptManifest V3Content ScriptsChrome Storage (sync)Web Audio APIChrome i18n

Artículos