dedlfix: Externen Link erkennen

Beitrag lesen

Tach!

Wie wärs, wenn man den User einfach zwingen muss ein Protokoll anzugeben? Dann muss am Anfang ein http stehen. Wenn das nicht da, ist der Link per default falsch. Wenn es da steht muss ich nur noch auf die Domain prüfen.
Ist die Idee gut?

Es gibt da den Fall, dass Seiten mit http und https aufgerufen werden können. Und bei eingebundenen Ressourcen ist es günstig, sie mit demselben Protokoll aufzurufen, weil sonst einige Browser steiken. Kommt nun beides zusammen muss der Link zur Ressource beides können. Deshalb lässt man das Protokoll weg und der Browser nimmt das der einbettenden Seite.

Im Gegensatz zu Gunnar finde ich die Idee eigentlich ganz gut. Wie an anderer Stelle schon erwähnt wurde, ist es bei fehlender Protokollangabe nie vollständig sicher möglich, das Eingegebene richtig zuuordnen - von daher: wieso sollte die Seite dem user die Bequemlichkeit gönnen, Links ohne Protokoll zu posten, wenn dadurch eine Quelle für Fehlinterpretationen geöffnet wird, die im Ernstfall dazu führt, dass der user gerade NICHT das bekommt, was er gerne im Ergebnis hätte.

Meine obige Antwort ist die Theorie. Die Frage ist nun, wie die Praxis aussieht. Was ist der Anwendungsfall (oder auch mehrere)? Wenn das Einbetten keine Rolle spielt, dann kann man das außer Betracht lassen. Ebenso könnte man in die Abschätzung einfließen lassen, dass es relativ unbekannt ist, Verweise ohne Protokollangabe notieren zu können. Und es ist auch recht unüblich, sie aus Versehen wegzulassen, die Slashes aber hinzuschreiben. Ich denke, man kann davon ausgehen, dass das in den meisten Fällen jemand ganz bewusst so geschrieben hat.

Wie auch immer, es ist recht einfach, die gegebene URL mit Javascript und relativ zum aktuellen Dokument parsen zu lassen und dann zum Zwecke der Prüfung ordentlich zusammenzusetzen: https://gist.github.com/jlong/2428561 (Kommt auch mit URLs ohne Protokoll zurecht.)

Summa summarum: Zwingende Protokollangabe erleichtert dir die Arbeit immens (außerdem kannst du dann auch direkt die Unterscheidung ob E-Mailaddresse, Http-Link oder ftp vornehmen falls du das willst) und führt beim User nur zu marginalem Mehraufwand. Zusätzlich wird Missverständnissen vorgebeugt. In meinen Augen eine gute Sache.

Ich bin dafür, mit dem geringstmöglichen Aufwand das bestmögliche Ergebnis zu erzielen. Das wäre für mich, die URL gemäß dem verlinkten Vorgehen zu interpretieren und keine weiteren Annahmen zu Fehleingaben zu treffen oder großartige Prüfungen und Fehlerkorrekturen einzubauen. Das ist den Aufwand vermutlich nicht wert. Wenn sich im Lauf der Zeit herausstellt, dass es beliebte Fehlermuster gibt, kann man sich immer noch dazu etwas einfallen lassen.

dedlfix.