Cod nevalid: Ce înseamnă href = "#"?

Când vedeți href = "#" în cod live pe o pagină web, înseamnă că persoana care a scris pagina a făcut o greșeală. Nu ar trebui să vezi niciodată href = "#" în codul sursă real al unei pagini web, deoarece # de la sine este de fapt invalid și lipsit de sens.

Ori de câte ori atașați JavaScript la un link, indiferent de acest lucru sau utilizând un echivalent discret, trebuie să aveți întotdeauna în vedere cei care, din orice motiv, nu au JavaScript activat. întoarce fals la sfârșitul exemplului meu de mai sus împiedică utilizarea href-ului efectiv dacă JavaScript rulează, dar href este în continuare ceea ce va fi utilizat dacă, din orice motiv, JavaScript nu rulează. Prin urmare, href trebuie să conțină o valoare validă reală, bazată pe locul în care doriți ca link-ul să ia persoane care nu au JavaScript disponibil. Deoarece persoana care a scris JavaScript pentru dvs. nu știe unde doriți ca acești oameni să fie duși, tocmai a introdus un # în codul lor unde trebuie să înlocuiți adresa reală.

instagram viewer

A # este valabil într-un atribut href cu condiția să nu fie singurul caracter din valoare. Atunci când # este urmat de caractere suplimentare, aceste caractere suplimentare sunt valoarea unui atribut id în altă parte a pagina web curentă și pagina vor sări pentru a afișa eticheta care conține acea id cât mai aproape posibil în partea de sus a browserului port de vizualizare. De exemplu va sari la

Un caracter # nu este valid ca ultimul caracter al href-ului, deoarece implică faptul că doriți să sari la un ID din pagină, dar valoarea id-ului pentru a sări la nu a fost specificată. Acțiunea pe care ar trebui să o întreprindă browserul în acea instanță nu este definită, însă majoritatea vor sări pur și simplu înapoi în partea de sus a paginii curente.

Deci, ce faceți dacă JavaScript pe care doriți să îl atașați este astfel încât să nu existe nicio alternativă pentru cei fără JavaScript? Ei bine, în acest caz, nu le doriți fără JavaScript pentru a vedea linkul deloc, deoarece dacă este vizibil pentru ei, unii dintre ei vor face clic pe el și nu aveți nimic pe care doriți să îl facă pentru ei și asta va fi doar confuz. Prin urmare, soluția este să vă asigurați că linkul este vizibil doar pentru cei cu JavaScript activat și că modalitatea de a face acest lucru este să adăugați linkul în pagina web cu JavaScript.

Doar acolo unde este adăugat pe pagina web cu JavaScript poți fi sigur că toți cei care fac clic pe link vor au JavaScript activat și tat, prin urmare, codul doSomething () va rula și href = "#" va fi ignorate. Atunci și numai atunci are sens orice ar lăsa # în acel loc din cod, deoarece atributul href este necesar pentru ca unele browsere să accepte codul ca un link valid și unde știți că vor avea singurele persoane care văd link-ul JavaScript activat, de asemenea, știți că, prin urmare, nimeni nu va sfârși vreodată să fie dus la locul la care punctează href și, astfel, poate conține ceva deloc fără să conteze și așa # este o valoare la fel de bună ca oricare și este cu siguranță mai bună decât href = "javascript:" (care este o construcție care nu ar trebui folosită niciodată, indiferent dacă urmează sau nu ceva).