Avaluació inicial sense contrasenyes Pressupost abans d’intervenir Un especialista responsable de principi a fi

Administrador Mitjans Frontend

Un error JavaScript trenca botons, pestanyes o finestres emergents

Diagnostica errors JavaScript de WordPress mitjançant la primera excepció, càrrega de recursos, dependències, memòria cau i esdeveniments.

Una sola excepció no capturada pot aturar les inicialitzacions posteriors i fer que diversos controls semblin espatllats. El primer error i el fitxer que el navegador ha carregat aporten més informació que reinstal·lar tots els connectors relacionats.

Conserva la pàgina, el navegador i les versions dels recursos abans de regenerar scripts.

Reprodueix un únic control

Anota la URL, amplada, estat de consentiment i sessió, interacció exacta i resultat esperat. Repeteix la prova en un navegador net sense extensions.

Captura:
primera excepció de Consola
fitxer, línia i pila
peticions fallides a Xarxa
versió i memòria cau de l'script
ID o classe de l'objectiu HTML
si l'esdeveniment arriba a executar-se

Oculta dades privades, galetes i tokens.

Comença per la primera excepció

Recarrega amb la Consola oberta i interactua una vegada. Els errors posteriors poden ser conseqüències d’una dependència no definida.

Obre el fitxer des de la URL carregada i confirma que conté JavaScript, no una pàgina HTML d’error amb un tipus incorrecte. Utilitza source maps en staging si n’hi ha, sense publicar codi propietari indegudament.

Comprova dependències i ordre

Els scripts de WordPress han de declarar dependències com jquery en comptes de pressuposar un ordre global.

wp_enqueue_script(
    'site-ui',
    get_stylesheet_directory_uri() . '/assets/ui.js',
    array( 'jquery' ),
    '1.2.0',
    true
);

Evita còpies duplicades de jQuery. defer, els mòduls i la càrrega al peu poden canviar l’ordre; inspecciona els atributs que apareixen realment a la pàgina.

Inspecciona l’objectiu al DOM

Una actualització del tema o dels blocs pot canviar classes o generar IDs duplicats. Confirma que el selector coincideix i que el codi gestiona diverses instàncies.

Per al contingut inserit dinàmicament, utilitza delegació d’esdeveniments quan sigui adequat. No registris gestors repetits en cada actualització AJAX. Comprova alhora clic, teclat i estat ARIA.

Aïlla els efectes de l’optimització

Els connectors de minificació, combinació o retard poden alterar l’ordre o conservar un paquet antic. Desactiva una sola funció en staging i compara.

Exclou únicament l’script o dependència incompatibles que hagis demostrat, regenera recursos i versiona el llançament. El consentiment pot retardar analítica opcional, però no els controls essencials.

Revisa CSP, CORS i contingut mixt

Content Security Policy, CORS o la barreja d’HTTP i HTTPS poden bloquejar biblioteques i API. Llegeix el missatge exacte del navegador.

Ajusta CSP de manera limitada per als orígens, nonces o hashes necessaris. No afegeixis comodins ni unsafe-inline com a solució ràpida. Prioritza dependències locals mantingudes quan sigui possible.

Repara el comportament defensiu

Corregeix el component, la dependència, el selector o la comprovació nul·la a la font:

const trigger = document.querySelector("[data-dialog-trigger]");
if (trigger) {
  trigger.addEventListener("click", openDialog);
}

La comprovació evita trencar pàgines sense el component, però no soluciona un HTML absent allà on el botó és obligatori.

Contén els scripts de tercers

El xat, mapes, consentiment i analítica poden fallar sense inutilitzar la interfície principal. Carrega les integracions opcionals de manera asíncrona i fora de la ruta d’inicialització crítica.

Afegeix temps d’espera i alternatives per a les API externes. No encadenis la preparació del menú o modal a una promesa de màrqueting. Tampoc no amaguis globalment tots els errors: registra una empremta segura i l’origen.

Instrumenta els esdeveniments en staging

Utilitza els panells de listeners, breakpoints i instrumentació temporal per saber quin gestor s’executa, crida preventDefault() o atura la propagació.

Retira el diagnòstic abans de publicar. Si dos connectors controlen el mateix activador, defineix-ne la propietat i els namespaces. En contingut AJAX, inicialitza una vegada cada component i neteja’l quan es retiri.

Verifica tots els estats

Prova ratolí, tacte, teclat, diversos controls, obertura, tancament, navegació enrere i contingut dinàmic en navegadors representatius. Repeteix-ho amb la memòria cau calenta.

Supervisa les empremtes d’errors del frontal després del desplegament. Que un botó sigui visible no demostra que la interacció funcioni.

ABANS D’ENVIAR LA SOL·LICITUD

Preguntes freqüents.

Demaneu contrasenyes al formulari?+

No. El formulari públic no demana mai accessos. Les dades segures es demanen només després d’aprovar l’abast i el pressupost.

Qui revisa la incidència?+

La sol·licitud arriba a Jordi Ensenyat, fundador de Code Barcelona i especialista en WordPress amb més de 15 anys d’experiència.

Es canvia res abans del pressupost?+

No. Primer es revisen els símptomes visibles i es defineix l’abast. La intervenció comença després de l’aprovació i amb una via de recuperació preparada.

Treballeu amb webs en anglès i fora d’Espanya?+

Sí. WP Repair atén incidències de WordPress i WooCommerce en català, castellà i anglès mitjançant un servei remot.

Avaluar la meva incidència