Vale kood: mida href = "#" tähendab?

Kui näete veebilehel reaalajas koodi href = "#", tähendab see, et lehe kirjutanud inimene on teinud vea. Te ei tohiks kunagi näha veebilehe tegelikus lähtekoodis href = "#", kuna # iseenesest on tegelikult kehtetu ja mõttetu.

Kui lisate JavaScripti lingile, olgu see siis sarnane või segamatu vaste, peate alati arvestama ka nendega, kellel JavaScripti mingil põhjusel pole lubatud. tagasi vale minu ülaltoodud näite lõpus takistab hrefi kasutamist, kui JavaScript jookseb, kuid ikkagi kasutatakse href-i, kui JavaScripti mingil põhjusel ei käivitata. Seetõttu peab href sisaldama tegelikku kehtivat väärtust vastavalt sellele, kuhu soovite lingi suunata inimesed, kellel pole JavaScripti saadaval. Kuna inimene, kes teile JavaScripti kirjutas, ei tea, kuhu soovite neid inimesi viia, lisasid nad oma koodi lihtsalt # numbri, kus peate tegeliku aadressi asendama.

instagram viewer

# On kehtiv atribuudis href tingimusel, et see pole väärtuse ainus märk. Kui numbrile # järgnevad täiendavad märgid, on need lisamärkid mujal atribuudi id atribuudi väärtus praegusel veebilehel ja sellel lehel kuvatakse seda ID sisaldav silt võimalikult lähedal brauseri ülaosale vaateava. Näiteks hüppab

Märk # ei kehti href-i viimase tähemärgina, kuna see tähendab, et soovite hüpata ID-lehele, kuid selle id-i väärtust, mille juurde hüpata, pole täpsustatud. Toiming, mida brauser sel juhul peaks võtma, on määratlemata, kuid enamik hüppab lihtsalt tagasi praeguse lehe ülaossa.

Mida teha, kui manustatav JavaScript on selline, et ilma JavaScriptita pole alternatiivi? Noh, sellisel juhul ei taha te ilma nendeta JavaScript linki üldse näha, sest kui see on neile nähtav, siis mõned neist klõpsavad sellel ja teil pole midagi, mida soovite, et see nende jaoks teeks, ja see teeb lihtsalt segaseks. Seetõttu on lahendus tagada, et link oleks nähtav ainult neile, kellel JavaScript on lubatud, ja viis selleks on lisada link veebilehele JavaScripti abil.

Ainult kus lisatakse veebilehele JavaScripti abil. Kas võite olla kindel, et kõik, kes linki klõpsavad, seda teevad on JavaScripti lubatud ja seega on doSomething () kood käivitatud ning href = "#" on eiratud. Siis ja alles siis on üldse mõttetu jätta kood # sellesse kohta, kuna atribuut href on nõutav et mõned brauserid aktsepteeriksid koodi kehtiva lingina ja kust teate, et seda saavad näha ainult ainsad inimesed JavaScript võimaldas teil ka teada, et seetõttu ei vii kedagi kunagi sellesse kohta, kuhu href osutab, ja see võib sisaldada üldse midagi, ilma et sellel oleks tähtsust ja nii # on sama hea väärtus kui mis tahes ja on kindlasti parem kui href = "javascript:" (see on konstruktsioon, mida ei tohiks kunagi kasutada, hoolimata sellest, kas miski järgneb käärsoolele või mitte).