Ich bin derzeit die folgende Funktion zu ‚konvertieren‘ eine relative URL auf einen absoluten einen mit:Abrufen einer absoluten URL von einer relativen URL. (IE6 Ausgabe)
function qualifyURL(url) {
var a = document.createElement('a');
a.href = url;
return a.href;
}
Diese in den meisten Browsern funktioniert ganz gut, aber IE6 besteht nach wie vor die relative URL auf Rückkehr! Es tut dasselbe, wenn ich getAttribute ('href') verwende.
Die einzige Möglichkeit, eine qualifizierte URL aus IE6 zu erhalten, besteht darin, ein img-Element zu erstellen und dessen 'src'-Attribut abzufragen - das Problem dabei ist, dass es eine Serveranfrage erzeugt; etwas, das ich vermeiden möchte.
Also meine Frage ist: Gibt es eine Möglichkeit, eine voll qualifizierte URL in IE6 von einem relativen (ohne eine Server-Anfrage) zu erhalten?
Bevor Sie eine schnelle Regex/String-Fix empfehlen, versichere ich Ihnen, es ist nicht so einfach. Basiselemente + doppelte relative URLs + eine Tonne anderer potentieller Variablen machen es wirklich zur Hölle!
Es muss einen Weg geben, es zu tun, ohne ein Mammut aus einer Regex'y-Lösung zu erstellen ??
Süße Hack! Es interessiert mich nicht für IE6. Sparte mir Stunden. Du schaukelst. –
Sie könnten [js-uri] (http://code.google.com/p/js-uri/) verwenden, um den relativen URI in einen absoluten aufzulösen. – Gumbo
Danke Gumbo, ich nehme an, das wird reichen müssen. Ich hätte mir eine prägnantere Lösung gewünscht, aber danke trotzdem, ich habe nie gewusst, dass diese js-uri Klasse existiert hat! – James