Matthias Apsel: href auf http-websites in css-Attribute

Beitrag lesen

Om nah hoo pez nyeetz, bari!

Man sollte vielleicht, um alle externen Links abzudecken, den Selektor ~~~css

a[href^="http"], a[href^="//"]


> > verwenden. Letzteres href-Attribut lässt dem Browser die Wahl des Protokolls.  
>   
> gilt das auch für solche links wie für dieses forum (forum.de.selfhtml.org/...), das kein http und keinen Doppelslash in der web-adresse hat (wenigstens ist bei mir keiner sichtbar), oder solche wie bei der faz, die www.faz.net/... als web-adresse hat.  
>   
> Kurz, ein Doppelslash und http ist nicht bei allen websites sichtbar, werden diese websites trotzdem berücksichtigt, wenn man im css-Attribut a[href^="//"] definiert?  
  
Was die Browser in der Adresszeile anzeigen, ist irrelevant. Wichtig ist einzig und allein, wie es im Quelltext steht.  
  
Wenn du beispielsweise `<a href="forum.de.selfhtml.org">SELFHTML-Forum</a>`{:.language-html} schreibst, ist das zunächst einmal ein ungültiger URI[1]. Dass die Browser versuchen, da was draus zu machen, ist ein anderer Schuh.  
  
`a[href^="//"]`{:.language-css} bedeutet, das href-Attribut beginnt mit ‚//‘. Beginnt denn ‚forum.de.selfhtml.org/‘ mit einem Doppelslash?  
  
[1] Ungültig ist hier falsch. Es wäre eine Ressource namens ‚forum.de.selfhtml.org‘, die im selben Verzeichnis wie der angegebene Basis-URI liegt, bzw. wenn dieser fehlt, im selben Verzeichnis wie die aufrufende Datei.  
Bei einer Direkteingabe in die Adresszeile wird der Browser dort wahrscheinlich nicht finden, was er sucht. Deshalb probiert er halt ‚http://forum.de.selfhtml.org‘ und wird fündig.  
Wenn so ein Link im Quelltext einer HTML-Datei steht und die (lokale) Ressource ‚forum.de.selfhtml.org‘ nicht vorhanden ist, gibt es eine 404-Fehlermeldung.  
  
Matthias

-- 
Der Unterschied zwischen Java und JavaScript ist größer als der zwischen [NOS und Nostalgie](http://selfhtml.apsel-mv.de/java-javascript/index.php?buchstabe=N#nos).  
![](http://www.billiger-im-urlaub.de/kreis_sw.gif)