Ungültiger Code: Was bedeutet href = "#"?

Wenn Sie href = "#" im Live-Code auf einer Webseite sehen, bedeutet dies, dass die Person, die die Seite geschrieben hat, einen Fehler gemacht hat. Sie sollten href = "#" niemals im eigentlichen Quellcode einer Webseite sehen, da das # an sich tatsächlich ungültig und bedeutungslos ist.

Wenn Sie einem solchen Link JavaScript hinzufügen oder ein unauffälliges Äquivalent verwenden, müssen Sie auch diejenigen berücksichtigen, für die JavaScript aus irgendeinem Grund nicht aktiviert ist. Das falsch zurückgeben am Ende meines obigen Beispiels wird verhindert, dass die href tatsächlich verwendet wird, wenn die JavaScript wird ausgeführt, aber die href wird immer noch verwendet, wenn das JavaScript aus irgendeinem Grund nicht ausgeführt wird. Die href muss daher einen tatsächlich gültigen Wert enthalten, der darauf basiert, wohin der Link Personen führen soll, für die kein JavaScript verfügbar ist. Da die Person, die das JavaScript für Sie geschrieben hat, nicht weiß, wohin diese Personen gebracht werden sollen, hat sie gerade ein # in ihren Code eingefügt, in das Sie die tatsächliche Adresse ersetzen müssen.

instagram viewer

Ein # ist in einem href-Attribut gültig, sofern es nicht das einzige Zeichen im Wert ist. Wenn auf das # zusätzliche Zeichen folgen, sind diese zusätzlichen Zeichen der Wert eines ID-Attributs an anderer Stelle im Die aktuelle Webseite und die Seite springen, um das Tag mit dieser ID so nah wie möglich am oberen Rand des Browsers anzuzeigen Ansichtsfenster. Beispielsweise wird springen zu

Ein # -Zeichen ist nicht als letztes Zeichen der href gültig, da dies impliziert, dass Sie zu einer ID innerhalb der Seite springen möchten, der Wert der ID, zu der gesprungen werden soll, jedoch nicht angegeben wurde. Die Aktion, die der Browser in dieser Instanz ausführen sollte, ist undefiniert. Die meisten springen jedoch einfach zum Anfang der aktuellen Seite zurück.

Was tun Sie also, wenn das JavaScript, das Sie anhängen möchten, so ist, dass es für diejenigen ohne JavaScript keine Alternative gibt? Nun, in diesem Fall wollen Sie die ohne nicht JavaScript Um den Link überhaupt zu sehen, klicken einige von ihnen darauf, wenn er für sie sichtbar ist, und Sie haben nichts, was Sie für sie tun möchten, und das ist nur verwirrend. Die Lösung besteht daher darin, sicherzustellen, dass der Link nur für diejenigen sichtbar ist, für die JavaScript aktiviert ist. Der Weg dazu besteht darin, den Link mithilfe von JavaScript zur Webseite hinzuzufügen.

Nur wo die Wird die Webseite mit JavaScript hinzugefügt, können Sie sicher sein, dass jeder, der auf den Link klickt, dies tut JavaScript aktiviert haben und daher wird der doSomething () Code ausgeführt und das href = "#" wird ignoriert. Dann und nur dann macht es Sinn, das # an dieser Stelle im Code zu belassen, da das href-Attribut erforderlich ist Damit einige Browser den Code als gültigen Link akzeptieren und wissen, dass nur die Personen den Link sehen können JavaScript aktiviert Sie wissen auch, dass niemand jemals tatsächlich an den Ort gebracht wird, auf den die href verweist, und so kann es überhaupt etwas enthalten, ohne dass es etwas ausmacht und so # ist so gut wie jeder andere Wert und sicherlich besser als href = "javascript:" (ein Konstrukt, das niemals verwendet werden sollte, unabhängig davon, ob etwas dem Doppelpunkt folgt oder nicht).