Nevažeći kod: Što znači href = "#"?

Kada vidite href = "#" u kodu uživo na web stranici, to znači da je osoba koja je napisala stranicu pogriješila. Nikada ne biste trebali vidjeti href = "#" u stvarnom izvornom kodu web stranice, jer je # sama po sebi zapravo nevaljana i besmislena.

Kad god pričvrstite JavaScript na vezu bilo da se radi o tome ili upotrebljavate neupadljivi ekvivalent, uvijek morate uzeti u obzir i one koji iz bilo kojeg razloga nemaju omogućen JavaScript. vratiti lažno na kraju mog gornjeg primjera sprječava da se href zapravo koristi ako JavaScript pokreće, ali href je i dalje ono što će se koristiti ako se iz bilo kojeg razloga JavaScript ne pokrene. Stoga href mora sadržavati stvarnu valjanu vrijednost na temelju mjesta gdje želite da veza preuzme ljude koji nemaju JavaScript dostupan. Budući da osoba koja vam je napisala JavaScript ne zna kamo želite da te osobe odvedu, upravo je umetnula # u svoj kôd, gdje trebate zamijeniti stvarnu adresu.

instagram viewer

# Je valjana u atributu href pod uvjetom da nije jedini znak u vrijednosti. Tamo gdje # prate dodatni znakovi, ti dodatni znakovi su vrijednost atributa id drugdje u trenutna web stranica i stranica će preskočiti kako bi se prikazala oznaka koja sadrži taj id što je bliže vrhu preglednika vidljivi dio. Na primjer skočit će na

Znak # nije valjan kao posljednji znak href-a, jer podrazumijeva da želite skočiti na id unutar stranice, ali vrijednost id-a u koji želite skočiti nije navedena. Radnja koju bi preglednik trebao poduzeti u tom slučaju nije definirana, ali većina će se jednostavno vratiti na vrh trenutne stranice.

Pa što učiniti ako je JavaScript koji želite priložiti takav da nema alternative za one bez JavaScript-a? Pa u tom slučaju ne želite one bez njih JavaScript da biste uopće vidjeli vezu jer ako je vidljiv njima neki će kliknuti na nju, a vi nemate ništa što biste željeli učiniti za njih, a to će biti samo zbunjujuće. Rješenje je stoga osigurati da je veza vidljiva samo onima s omogućenim JavaScriptom, a način na koji je to dodati je dodavanje veze na web stranicu pomoću JavaScript-a.

Samo tamo gdje je dodan na web stranicu pomoću JavaScript možete li biti sigurni da će svi koji kliknu na vezu imati omogućen JavaScript i zbiti, stoga će se pokrenuti kôd doSomething () i href = "#" će biti zanemarena. Tada i samo tada ima smisla što u tom kodu ostaviti # na tom mjestu jer je potreban atribut href kako bi neki preglednici prihvatili kôd kao valjanu vezu i gdje znate da će ih imati samo ljudi koji mogu vidjeti vezu JavaScript omogućeno vam je i da znate da zbog toga niko nikada neće biti doveden do mjesta na koje href ukazuje i tako može sadržavati bilo što uopće, a da to nije važno i tako # je dobra vrijednost kao i svaka i sigurno je bolja od href = "javascript:" (što je konstrukcija koja se nikada ne bi trebala koristiti bez obzira slijedi li dvotočka ili ne).