[{"data":1,"prerenderedAt":273},["ShallowReactive",2],{"sideproject-es-now-playing-chords-chrome-extension":3},{"id":4,"title":5,"body":6,"date":238,"description":239,"extension":240,"featured":241,"image":242,"locale":243,"meta":244,"navigation":259,"order":260,"path":261,"repo":262,"seo":263,"status":264,"stem":265,"technologies":266,"url":262,"__hash__":272},"sideprojects\u002Fes\u002Fsideprojects\u002Fnow-playing-chords-chrome-extension.md","NowPlayingChords (2026)",{"type":7,"value":8,"toc":228},"minimark",[9,13,25,34,39,51,61,64,70,74,77,101,104,115,119,122,129,133,187,190,193,197,204,208],[10,11,5],"h1",{"id":12},"nowplayingchords-2026",[14,15,16,17,24],"p",{},"Extensión de navegador (Chrome y Firefox) que, mientras se escucha música en ",[18,19,23],"a",{"href":20,"rel":21},"https:\u002F\u002Fopen.spotify.com",[22],"nofollow","open.spotify.com",", detecta el artista y la canción que suena y muestra un botón en la barra de reproducción que abre un panel con varios sitios de búsqueda de acordes\u002Ftabs de guitarra.",[14,26,27,28,33],{},"Disponible en la ",[18,29,32],{"href":30,"rel":31},"https:\u002F\u002Fchromewebstore.google.com\u002Fdetail\u002Fnowplayingchords\u002Fpddijnckemnnaonkjclhgolflcmikfda",[22],"Chrome Web Store",".",[35,36,38],"h2",{"id":37},"cómo-funciona","¿Cómo funciona?",[14,40,41,42,45,46,50],{},"Mientras escuchas una canción en ",[43,44,23],"code",{},", aparece un botón ",[47,48,49],"strong",{},"\"Search Chords\""," justo al lado del control de volumen de la barra de reproducción, sin invadir el resto de la interfaz de Spotify.",[14,52,54,55],{"align":53},"center","\n  ",[56,57],"img",{"src":58,"alt":59,"width":60},"\u002Fimages\u002Fsideprojects\u002Fnow-playing-chords-chrome-extension-button.png","Botón Search Chords en la barra de reproducción de Spotify",700,[14,62,63],{},"Al hacer clic, se abre un pequeño panel con los sitios de búsqueda configurados — no solo Ultimate Guitar. Cada sitio muestra un indicador de si tiene resultados para la canción actual, así de un vistazo sabes a qué sitio vale la pena ir en lugar de abrir a ciegas una búsqueda que puede no tener resultados.",[14,65,54,66],{"align":53},[56,67],{"src":68,"alt":69,"width":60},"\u002Fimages\u002Fsideprojects\u002Fnow-playing-chords-chrome-extension-results.png","Panel de búsqueda de acordes con el estado de cada sitio",[35,71,73],{"id":72},"búsqueda-de-acordes-inteligente","Búsqueda de acordes inteligente",[14,75,76],{},"Cada vez que se abre el panel, la extensión comprueba en segundo plano (desde el background script, para evitar el CSP de la página de Spotify) si cada sitio activado tiene resultados para la canción actual:",[78,79,80,88,95],"ul",{},[81,82,83,84,87],"li",{},"✅ ",[47,85,86],{},"Con resultados",": fila clicable, abre la búsqueda en una pestaña nueva.",[81,89,90,91,94],{},"❌ ",[47,92,93],{},"Sin resultados"," (o comprobación fallida\u002Ftimeout): fila deshabilitada, sin enlace.",[81,96,97,100],{},[47,98,99],{},"❓",": sitio no verificable (detrás de protección anti-bot), siempre clicable para que el usuario lo compruebe manualmente.",[14,102,103],{},"Cada comprobación es una heurística sobre el HTML de cada sitio — son sitios de terceros que pueden cambiar de diseño en cualquier momento y romper la detección. Por eso cualquier error o timeout se trata de forma conservadora como \"sin resultados\", para no ofrecer nunca un enlace que probablemente no sirve.",[14,105,106,107,110,111,114],{},"Los resultados se guardan en ",[43,108,109],{},"browser.storage.local"," durante ",[47,112,113],{},"30 días"," por canción, así que reabrir el panel para la misma canción —incluso días después o en otra pestaña— no vuelve a hacer peticiones de red hasta que caduque la caché.",[35,116,118],{"id":117},"página-de-opciones","Página de opciones",[14,120,121],{},"La extensión tiene una página de configuración propia, accesible haciendo clic en el icono de la extensión en la barra del navegador o en el botón \"⚙ Configuración\" del panel de búsqueda. Permite activar o desactivar qué sitios aparecen en el panel de búsqueda.",[14,123,54,124],{"align":53},[56,125],{"src":126,"alt":127,"width":128},"\u002Fimages\u002Fsideprojects\u002Fnow-playing-chords-chrome-extension-config.png","Página de configuración de la extensión",600,[35,130,132],{"id":131},"sitios-de-búsqueda-compatibles","Sitios de búsqueda compatibles",[78,134,54,135,54,145,54,152,54,159,54,166,54,173,54,180],{},[81,136,137],{},[18,138,144],{"href":139,"target":140,"rel":141},"https:\u002F\u002Fwww.ultimate-guitar.com","_blank",[142,143,22],"noopener","noreferrer","Ultimate Guitar",[81,146,147],{},[18,148,151],{"href":149,"target":140,"rel":150},"https:\u002F\u002Fwww.songsterr.com",[142,143,22],"Songsterr",[81,153,154],{},[18,155,158],{"href":156,"target":140,"rel":157},"https:\u002F\u002Fwww.cifraclub.com",[142,143,22],"Cifra Club",[81,160,161],{},[18,162,165],{"href":163,"target":140,"rel":164},"https:\u002F\u002Fchordify.net",[142,143,22],"Chordify",[81,167,168],{},[18,169,172],{"href":170,"target":140,"rel":171},"https:\u002F\u002Fwww.e-chords.com",[142,143,22],"E-Chords",[81,174,175],{},[18,176,179],{"href":177,"target":140,"rel":178},"https:\u002F\u002Facordes.lacuerda.net",[142,143,22],"LaCuerda.net",[81,181,182],{},[18,183,186],{"href":184,"target":140,"rel":185},"https:\u002F\u002Fwww.guitartabs.cc",[142,143,22],"GuitarTabs.cc",[14,188,189],{},"La lista es configurable desde el código añadiendo nuevas entradas con su identificador, nombre y plantilla de URL. Si te gustaría que apareciera otro sitio en la lista, házmelo saber e intentaré añadirlo.",[14,191,192],{},"Cifra Club, Chordify y E-Chords no se verifican automáticamente: sus páginas están detrás de protección anti-bot (Cloudflare) que bloquea cualquier petición \"fría\" sin cookies de sesión previas — exactamente la situación de una petición desde el background script. Por eso se muestran siempre como clicables con el icono ❓, sin verificarlos.",[35,194,196],{"id":195},"idiomas","Idiomas",[14,198,199,200,203],{},"La extensión está disponible en ",[47,201,202],{},"catalán, inglés y castellano",", vía la API nativa de internacionalización de WebExtensions. No hay selector manual: se usa automáticamente el idioma del navegador, con el inglés como idioma por defecto si el navegador no está en ninguno de los tres.",[35,205,207],{"id":206},"stack-tecnológico","Stack tecnológico",[78,209,210,213,220,225],{},[81,211,212],{},"Manifest V3, compartido entre Chrome y Firefox",[81,214,215,216,219],{},"WebExtensions API (background script con ",[43,217,218],{},"host_permissions"," para saltarse CORS)",[81,221,222,224],{},[43,223,109],{}," para la caché de resultados y las preferencias del usuario",[81,226,227],{},"JavaScript vanilla, sin dependencias",{"title":229,"searchDepth":230,"depth":230,"links":231},"",2,[232,233,234,235,236,237],{"id":37,"depth":230,"text":38},{"id":72,"depth":230,"text":73},{"id":117,"depth":230,"text":118},{"id":131,"depth":230,"text":132},{"id":195,"depth":230,"text":196},{"id":206,"depth":230,"text":207},"2026-09-22T12:00:00Z","Extensión para Chrome y Firefox que, mientras se escucha música en Spotify Web, detecta la canción y muestra un botón para buscar sus acordes\u002Ftabs en varios sitios a la vez.","md",false,"\u002Fimages\u002Fsideprojects\u002Fnow-playing-chords-chrome-extension-banner.png","es",{"slug":245,"type":246,"categories":247,"tags":248,"achievements":254},"now-playing-chords-chrome-extension","sideproject",[246],[249,250,251,252,253],"Chrome Extension","Firefox Extension","Manifest V3","JavaScript","Spotify",[255,256,257,258],"Detección en tiempo real del artista y la canción en open.spotify.com sin invadir la interfaz de Spotify","Comprobación en segundo plano de 7 sitios de búsqueda de acordes, con indicador ✅\u002F❌\u002F❓ para cada uno","Cache de resultados de 30 días por canción, evitando peticiones de red repetidas","Extensión disponible en catalán, inglés y castellano vía la API nativa de internacionalización",true,1,"\u002Fes\u002Fsideprojects\u002Fnow-playing-chords-chrome-extension",null,{"title":5,"description":239},"published","es\u002Fsideprojects\u002Fnow-playing-chords-chrome-extension",[267,268,269,270,271],"Manifest V3 (compartido Chrome\u002FFirefox)","Chrome\u002FWebExtensions API (background script, host permissions)","browser.storage.local (cache y preferencias)","WebExtensions i18n API (ca\u002Fen\u002Fes)","JavaScript vanilla","krSaPF5kkMPndJ5Nl5gEEy--B3YJiL5vV2n6NrOYTVA",1790587323143]