Gå til indhold
SilktideHjælp

Tilpasset JavaScript

Tilpasset er et tjek, du selv opretter. Du skriver et uddrag af JavaScript, Silktide kører det i browseren på hver side, det tester, og det, dit uddrag rapporterer, bliver til fund på disse sider.

Det gør det muligt at teste alt, som din organisation går op i, og som Silktide ikke tester som standard: en intern stilregel, et påkrævet sporingsuddrag, en forældet komponent, der ikke længere bør vises, og så videre.

Sådan løser du det

Fund fra dette tjek betyder det, dit uddrag afgør, at de betyder, så løsningen defineres af dig. Skriv message for hvert fund, så en kollega, der aldrig har set uddraget, ved, hvad der skal ændres.

Sådan tester Silktide dette

  1. Dit uddrag køres i browseren på hver side, Silktide tester, efter siden er indlæst, som brødteksten i en async JavaScript-funktion – så du kan bruge await og return direkte.
  2. Det, dit uddrag returnerer, bliver omdannet til fund:
    • Returner et array af objekter for at rapportere flere fund, som hver fremhæver et element på siden:
// Rapporter hvert billede, der er over 500px bredt, som et fund
const wide = [...document.querySelectorAll('img')].filter(img => img.width > 500);
return wide.map(img => ({
  selector: 'img[src="' + img.getAttribute('src') + '"]',
  text: img.getAttribute('src'),
  severity: 'medium',
  message: 'Billedet er bredere end 500px',
}));
  • Hvert objekt kan indeholde en selector (en CSS-vælger for det element, der skal fremhæves), text (det, der skal vises for fundet), severity (low, medium eller high) og en message, der forklarer problemet.
  • Returner en almindelig streng for at rapportere ét fund med lav alvorlighedsgrad for siden.
  • Returner et tomt array eller ingenting for at rapportere, at siden er i orden.
  1. Hvis uddraget udløser en fejl eller returnerer noget, der ikke understøttes, rapporterer tjekket fejlen på siden, så du kan fejlfinde uddraget.

Da uddraget køres i browseren, når siden downloades, træder ændringer af uddraget i kraft, næste gang siderne testes igen, ikke med det samme.

Fejlfinding

Mit uddrag virker i browserkonsollen, men ikke her

Uddraget er brødteksten i en funktion, så sætninger som return forventes på øverste niveau. Sørg for, at uddraget returnerer sine fund i stedet for at logge dem med console.log, som ikke indsamles.

Fund fremhæver ikke det rigtige element

Den selector, du returnerer, skal entydigt matche elementet på siden på det tidspunkt, hvor siden blev testet. Foretræk stabile attributter (id'er, data-*-attributter) frem for positionsvælgere som :nth-child, der ikke virker, når indhold flytter sig.

Få mere at vide

Sidst opdateret

Var denne side nyttig?