Codice non valido: cosa significa href = "#"?

Quando vedi href = "#" nel codice live su una pagina web significa che la persona che ha scritto la pagina ha fatto un errore. Non dovresti mai vedere href = "#" nel codice sorgente effettivo di una pagina web perché # da solo non è valido e privo di significato.

Ogni volta che si collega JavaScript a un collegamento in modo simile o utilizzando un equivalente discreto, è sempre necessario considerare anche coloro che per qualsiasi motivo non hanno JavaScript abilitato. Il restituire false alla fine del mio esempio sopra impedisce l'href effettivamente utilizzato se il JavaScript viene eseguito ma href è comunque quello che verrà utilizzato se per qualsiasi motivo JavaScript non viene eseguito. Pertanto, è necessario che href contenga un valore valido effettivo in base a dove si desidera che il collegamento porti le persone che non dispongono di JavaScript. Poiché la persona che ha scritto JavaScript per te non sa dove vuoi che vengano portate quelle persone hanno appena inserito un # nel loro codice in cui è necessario sostituire l'indirizzo reale.

instagram viewer

Un # è valido in un attributo href a condizione che non sia l'unico carattere nel valore. Dove # è seguito da caratteri aggiuntivi, questi caratteri aggiuntivi sono il valore di un attributo id altrove in la pagina Web corrente e la pagina salteranno per visualizzare il tag contenente quell'ID il più vicino possibile alla parte superiore del browser viewport. Per esempio salterà a

Un carattere # non è valido come ultimo carattere di HREF poiché implica che si desidera passare a un ID all'interno della pagina ma il valore dell'ID a cui saltare non è stato specificato. L'azione che il browser dovrebbe intraprendere in quell'istanza non è definita, tuttavia la maggior parte tornerà semplicemente all'inizio della pagina corrente.

Quindi cosa fai se il JavaScript che vuoi allegare è tale da non avere alternative per quelli senza JavaScript? Bene, in quel caso non li vuoi senza JavaScript per vedere il collegamento dal momento che se è visibile a loro, alcuni di loro faranno clic su di esso e non hai nulla che tu voglia che faccia per loro e che sarà solo fonte di confusione. La soluzione quindi è garantire che il collegamento sia visibile solo per quelli con JavaScript abilitato e il modo per farlo è quello di aggiungere il collegamento nella pagina Web usando JavaScript.

Solo dove il viene aggiunto alla pagina Web tramite JavaScript, puoi essere sicuro che tutti gli utenti che fanno clic sul link lo faranno avere JavaScript abilitato e tat quindi verrà eseguito il codice doSomething () e sarà href = "#" ignorato. Quindi e solo allora ha senso lasciare il # in quel punto nel codice poiché è richiesto l'attributo href per consentire ad alcuni browser di accettare il codice come link valido e dove sai che le uniche persone a vedere il link avranno JavaScript abilitato, sapete anche che nessuno finirà mai per essere effettivamente portato nel luogo a cui punta l'HREF e quindi può contenere qualsiasi cosa senza che sia importante e così # ha un valore buono come un altro ed è sicuramente migliore di href = "javascript:" (che è un costrutto che non dovrebbe mai essere usato indipendentemente dal fatto che qualcosa segua i due punti o meno).

instagram story viewer