
Kort svar: Bekræft på staging, at funktionen virker, når Delay JavaScript alene deaktiveres. Prøv derefter en mindre aggressiv strategi – defer eller indlæsning, når browseren er ledig – før du laver exclusions. Find det konkrete script, inline-keyword og event, som menuen eller formularen behøver. Tilføj kun den mindste exclusion, og test mus, touch, tastatur, valideringsfejl, succesbesked og den forventede netværksrequest.
Delay JavaScript kan flytte ikke-kritisk scriptarbejde væk fra den første rendering. Men en menu eller formular er netop kritisk i det øjeblik, brugeren prøver at bruge den. Hvis dens kode først hentes eller initialiseres efter det første klik, kan klikket blive langsomt, kræve et ekstra forsøg eller slet ikke virke.
FlyingPress tilbyder tre grundstrategier: defer, indlæsning når browseren er ledig og indlæsning efter brugerinteraktion. “Efter interaktion” er mest aggressiv og kræver ekstra kontrol af menuer, sliders, animationer og formularer over folden.
Grundlag for trinene: Arbejdsgangen er gennemgået den 28. august 2026 mod WordPress 7.1, PHP 8.4.23, FlyingPress 5.6.5 og Chrome 151. Delay-undtagelser skal afprøves på staging med samme menuer, formularer og samtykkeflows som på det aktive website. Gem komponent, strategi, script, eventtrace, Network og funktionsmatrix som dokumentation for din egen sag.
På denne side
Gem:
<script>-tags;Sørg for, at et andet plugin ikke samtidig kombinerer, deferer eller delayer JavaScript. Flere scriptoptimeringer kan ændre rækkefølge og gøre en exclusion misvisende.

På staging deaktiverer du kun Delay JavaScript og rydder/regenererer test-URL'en. Gentag samme handling i en ny privat session.
Aktivér Delay igen, før du tester løsningen. Undgå at deaktivere alle optimeringer på én gang; så ved du ikke, hvilken indstilling der ændrede adfærden.
“Formularen virker ikke” er for bredt. Skriv fx:
aria-expanded;Kontrollér DOM-attributter, konsol og Network samtidig. Hvis menuens klasse ændres korrekt, kan problemet være CSS og høre til Remove Unused CSS-guiden.
På en frisk stagingnavigation trykker du én gang på menuen. Network viser, at komponentens bundle først bliver hentet ved trykket, men aria-expanded forbliver false. Ved andet tryk er koden initialiseret, og menuen åbner. Det er et stærkt signal om, at brugerens første handling bliver brugt til bootstrap i stedet for til den forventede funktion.
Først afprøver du idle-strategien. Hvis scriptet nu er klart før klikket, første tryk åbner menuen, og indlæsningsmålingen stadig er acceptabel, behøver du måske ingen exclusion. Hvis idle ikke er tilstrækkelig, finder du den unikke komponentfil og dens runtime og tester én smal exclusion. Kontroller i Network, at kun de nødvendige scripts flytter sig.
Eftertesten skal ikke blot sige “menu virker”. Notér første klik, aria-expanded, fokus, Escape, scroll lock og touch. Hvis menuen åbner hurtigere, men fokus bliver i baggrunden, er ændringen ikke godkendt.
| Signal ved den første interaktion | Sandsynlig årsag | Næste sikre kontrol |
|---|---|---|
| Første klik henter scripts, mens andet klik virker | Komponenten initialiseres først af brugerens input | Optag en frisk sideindlæsning med Network og event listeners, og test idle/defer før en exclusion |
aria-expanded eller komponentklassen ændres ikke, og Console viser en referencefejl | En afhængighed kører i forkert rækkefølge eller er stadig delayed | Start ved den første relevante fejl og kortlæg parent-script samt runtime på staging |
| Klassen ændres korrekt, men menuen eller beskeden er stadig skjult | CSS eller Remove Unused CSS er problemet, ikke eventhandleren | Sammenlign computed styles og RUCSS til/fra, uden at frigive flere scripts |
| Formularens submit giver ingen request | Submit-handler, klientvalidering, CAPTCHA eller samtykkestyret kode er ikke initialiseret | Spor submit-eventet og første konsolfejl med ufarlige testdata; send ikke gentagne liveforsøg |
| Requesten sendes én gang og svarer korrekt, men succesbeskeden vises ikke | Response-handleren eller den efterfølgende DOM-opdatering mangler | Gem den anonymiserede response og følg callbacken; gentag mod et godkendt testmål |
| Fejlen ændrer sig mellem accepteret og afvist samtykke | Samtykke og Delay holder samme script tilbage i to forskellige lag | Test begge samtykketilstande fra en ren session og bevar samtykkeblokeringen under optimeringen |
| Mus virker, men touch eller tastatur gør ikke | Komponenten bruger forskellige events eller mangler tilgængelig initialisering | Test den konkrete inputtype på staging og sammenlign registrerede handlers, fokus og aria-state |
Før en exclusion bør du teste, om komponenten virker med en mindre aggressiv strategi:
Hvis idle eller defer løser problemet med en acceptabel målbar ydelse, er det ofte mere robust end en lang liste af exclusions. Dokumentér både funktionsresultat og den måling, Delay skulle forbedre.
Hvis du vil bevare den aggressive strategi, skal du finde scriptets ejer.
Brug disse spor:
<script src>-URL og filsti;id;På staging kan du udelukke én kandidat ad gangen og se, om den konkrete funktion vender tilbage. Hvis et hovedscript afhænger af en runtime eller et bibliotek, skal rækkefølgen medtages. At udelukke kun child-scriptet kan få det til at køre for tidligt og skabe en ny undefined-fejl.
FlyingPress-exclusions matcher delvist og uden forskel på store og små bogstaver. Wildcards bruges ikke. Det betyder, at en kort, generel tekststreng kan ramme mange scripts og inlineblokke.
Vælg en unik, stabil del af fil-URL'en, script-id'et eller inline-koden. Start med én exclusion. Gem, regenerér og kontrollér i HTML/Network, hvilke scripts der nu er undtaget.
Undgå som udgangspunkt brede ord som jquery, menu, form eller hele pluginmappen. De kan frigive langt mere JavaScript end nødvendigt og skjule den egentlige afhængighed.
Efter en ændring skal menuen testes som en funktion, ikke kun visuelt:
Kontrollér aria-expanded, fokus og scroll lock. En menu kan se korrekt ud, men fange fokus eller efterlade siden låst.
Test med sikre testdata og uden at sende rigtige kundedata:
At requesten returnerer 200 beviser ikke, at mail, CRM eller anden downstream-levering er sket. Denne artikel verificerer frontend- og requestkæden; ekstern levering kræver sit eget bevis.
Et script kan være forsinket af både FlyingPress og samtykkeløsningen. Kortlæg rækkefølgen:
Undtag ikke analytics, marketing eller CAPTCHA fra samtykke for at løse et Delay-problem. Bevar det juridiske/tekniske samtykkeflow og afgræns kun optimeringen. Verificér netværksrequests både før og efter samtykke.
En exclusion kan gøre menuen funktionel, men samtidig tilføje JavaScript ved load. Omvendt kan “efter interaktion” give en langsom første menuåbning. Optag den første interaktion i Performance-panelet og del den i input delay, processing og presentation delay.
Behold kun løsningen, hvis både funktionen og den relevante måling er acceptabel. Se INP-guiden for den fulde traceanalyse.
Rettelsen er dokumenteret, når:
Test efter cache/regenerering i en helt ny privat session. En indlogget adminside kan få et andet optimeringsoutput.
Sammenlign desuden HTML og scriptliste før og efter. En delvis tekstmatch kan ramme både en ekstern fil og flere inlineblokke. Hvis exclusionen frigiver mere kode end forventet, skal den gøres mere unik eller erstattes af en mindre aggressiv global strategi. Vurder den første virkelige interaktion – ikke et klik efter at siden allerede er varmet op af dine udviklerværktøjer.
Hvis exclusion eller strategi ikke hjælper, gendan den forrige værdi, fjern kun den nye exclusion og regenerér test-URL'en. Ved live-regression er den sikre midlertidige løsning at bruge den senest kendt fungerende, mindre aggressive strategi eller deaktivere Delay, indtil en stagingreproduktion findes.
Kontakt komponentudvikleren med scriptsti, event, stack trace og minimal reproduktion. Kontakt FlyingPress-support med version, valgt strategi, exclusion, genereret HTML og trace. Hostious WordPress-support kan hjælpe med at finde den mindste robuste undtagelse.
aria-expanded og class state.Gem HTML før/efter, scriptliste med timing, konsoludtræk, HAR, eventtrace og funktionsmatrix. En syntetisk Article Lab-fixture kan vise eventrækkefølgen, men er ikke CrUX-, Lighthouse- eller produktionsbevis. Fjern tokens, cookies, formularindhold og tredjeparts-id'er.
Fordi dens script først indlæses ved interaktion – men validering eller indsendelse kræver, at koden allerede kører. Resultatet er en knap, der ikke reagerer, eller en formular der sender forkert.
Menu- og navigationsscripts, formular- og betalingsscripts, samtykkeplatforme og alt i checkout. Delay er til tunge, ikke-kritiske tredjepartsscripts som chat og sporing.
Åbn konsollen på den fejlende side og udløs funktionen: den første fejl peger på scriptet eller dets afhængighed (tit jQuery). Undtag præcis det handle – og eftertest i privat vindue.