Obecnie używam następującej funkcji, aby „przekonwertować” względny adres URL na bezwzględny:
function qualifyURL(url) {
var a = document.createElement('a');
a.href = url;
return a.href;
}
Działa to całkiem dobrze w większości przeglądarek, ale IE6 nadal nalega na zwracanie względnego adresu URL! Robi to samo, jeśli używam getAttribute („href”).
Jedynym sposobem, w jaki mogłem uzyskać kwalifikowany adres URL z IE6, jest utworzenie elementu img i wysłanie zapytania o jego atrybut „src” - problem polega na tym, że generuje on żądanie serwera; coś, czego chcę uniknąć.
Moje pytanie brzmi: czy istnieje sposób na uzyskanie w pełni kwalifikowanego adresu URL w IE6 z adresu względnego (bez żądania serwera)?
Zanim polecisz szybką naprawę wyrażeń regularnych / ciągów, zapewniam, że nie jest to takie proste. Elementy bazowe + względne adresy URL z podwójnymi okresami + mnóstwo innych potencjalnych zmiennych to naprawdę piekło!
Musi istnieć sposób, aby to zrobić bez konieczności tworzenia gigantycznego rozwiązania regex'y?