Hallo,
ich soll eine Javascript Function schreiben, die aus übergebenen HTML Dateien mit jeweils einem Link das Verweisziel des Links ausliest. Die ausgegebenen Links gebe ich an eine dritte Funktion weiter, auf die ich keinen Einfluss habe.
Hört sich einfach an, die Tücke steckt leider im Detail.
Links in dieser Art bekomme ich
1. <a href="http://www.yahoo.de>Korrekter Link zu Yahoo</a>
2. <a href="www.yahoo.de>Unvollständiger Link zu Yahoo</a>
3. <a href="./subfolder/file1.html>relativer Link</a>
Auf einen übergebenen Link verweise ich mit dem Objekt "currentlink".
1. macht kein Problem und würde mit "currentlink.href" folgendes zurückliefern: http://www.yahoo.de.
2. macht Probleme. "currentlink.href" liefert hier (z.B. auf Test-localhost): http://localhost/htmlfiles/www.yahoo.de , wobei "htmlfiles" das Verzeichnis ist, in dem die Datei mit dem Link liegt. Mit diesem Link kollabiert natürlich die Funktion, die nach mir kommt.
3. macht auch Probleme, das kann ich aber mit "currentlink.pathname" umgehen. Ergebnis: "subfolder/file1.html".
Was mache ich aber mit den unvollständigen Links (2.)? Natürlich kann man http: vor das www schreiben, aber wie verhindere ich generell, dass etwas wie http://localhost.. mit zurückgeliefert wird.
Ich möchte einfach nur das, was im Link unter href=".." geschriben wurde, egal ob reine Lehre oder nicht? Geht das ohne eine irrsinnige Fallunterscheidung? Habt ihr eine Idee?
Dank & Gruss
Klaus