Neplatný kód: Co znamená href = "#"?

Když uvidíte na webové stránce href = "#" v živém kódu, znamená to, že osoba, která stránku napsala, udělala chybu. Nikdy byste neměli vidět href = "#" ve skutečném zdrojovém kódu webové stránky, protože samotný # je ve skutečnosti neplatný a bezvýznamný.

Kdykoli připojíte JavaScript k odkazu, ať už se vám líbí nebo pomocí nenápadného ekvivalentu, musíte vždy zvážit také ty, kteří z jakéhokoli důvodu nemají povolený JavaScript. vrátit nepravdivé na konci mého výše uvedeného příkladu zabraňuje tomu, aby se href skutečně použil, pokud JavaScript běží, ale href je stále to, co bude použito, pokud se JavaScript z nějakého důvodu nespustí. Href proto musí obsahovat skutečnou platnou hodnotu podle toho, kde chcete, aby odkaz odkazoval lidi, kteří nemají k dispozici JavaScript. Vzhledem k tomu, že osoba, která pro vás napsala JavaScript, neví, kam chcete tyto lidi vzít, vložila do svého kódu #, kde musíte nahradit skutečnou adresu.

instagram viewer

# Je platný v atributu href za předpokladu, že to není jediný znak v hodnotě. Pokud za znakem # následují další znaky, jsou tyto další znaky hodnotou atributu id jinde v aktuální webová stránka a stránka skočí a zobrazí značku obsahující toto ID co nejblíže horní části prohlížeče výřez. Například skočí na

Znak # není platný jako poslední znak href, protože to znamená, že chcete skočit na id na stránce, ale hodnota id, na kterou se má skočit, nebyla zadána. Akce, kterou by měl prohlížeč v tomto případě provést, není definována, ale většina jednoduše skočí zpět na začátek aktuální stránky.

Co dělat, když je JavaScript, který chcete připojit, takový, že pro ty, kteří nemají JavaScript, neexistuje žádná alternativa? V tom případě ty bez nich nechcete JavaScript Chcete-li vidět odkaz vůbec, protože pokud je viditelný pro ně, pak na ně někteří kliknou a nemáte nic, co pro ně chcete udělat, a to bude jen matoucí. Řešením je proto zajistit, aby byl odkaz viditelný pouze pro ty, kteří mají povolený JavaScript, a způsob, jak to udělat, je přidat odkaz na webovou stránku pomocí JavaScriptu.

Pouze tam, kde je přidán na webovou stránku pomocí JavaScriptu, můžete si být jisti, že každý, kdo klikne na odkaz, bude mít povolený JavaScript, a proto se spustí kód doSomething () a bude href = "#" ignorováno. Pak a teprve potom dává smysl cokoli nechat # na tomto místě v kódu, protože je vyžadován atribut href aby některé prohlížeče akceptovaly kód jako platný odkaz a pokud víte, že budou mít pouze lidé, kteří uvidí odkaz JavaScript umožněno také víte, že nikdo proto nikdy nepřijde na místo, na které odkazuje href, takže může obsahovat cokoli, aniž by na tom záleželo, a tak # je stejně dobrá hodnota jako kterákoli jiná a je určitě lepší než href = "javascript:" (což je konstrukt, který by nikdy neměl být použit bez ohledu na to, zda něco následuje za dvojtečkou nebo ne).