SORU
22 Ocak 2009, PERŞEMBE


Göreceli mutlak bir URL alıyorum. (IE6 sorunu)

Şu anda aşağıdaki işlevi 'göreceli mutlak bir URL: . dönüştürmek için kullanıyorum

function qualifyURL(url) {
	var a = document.createElement('a');
	a.href = url;
	return a.href;
}

Bu oldukça iyi çoğu tarayıcıda çalışır ama IE6 göreli URL hala dönmekte ısrar ediyor! Eğer getAttribute kullanırsam aynı işi yapar ('') href.

Tek yol gittim görebilmeniz için nitelikli bir URL dışarı IE6 oluşturmak için bir ımg öğesi ve sorgu 'src' nitelik sorunu ile bunun oluşturduğu bir sunucu isteği; istediğim bir şey kaçının.

Benim sorum ise şu: göreli (sunucu isteği olmadan) IE6 tam olarak nitelenmiş bir URL almak için herhangi bir yolu var mı?

< / ^ hr .

Hızlı bir düzenli ifade/dizesi sizi temin ederim düzeltme tavsiye önce o kadar basit değil. Diğer olası değişkenler unsurları baz çift dönem göreli URL bir ton gerçekten cehennem olun!

Düzenli Sekreteri bir çözüm bir mamut oluşturmak zorunda kalmadan bunu yapmak için bir yol olmalı??

CEVAP
23 Ocak 2009, Cuma


Ne garip! YANİ, ancak, DOM yöntemleri yerine innerHTML kullandığınızda bunu anlıyor mu.

function escapeHTML(s) {
    return s.split('&').join('&').split('<').join('<').split('"').join('"');
}
function qualifyURL(url) {
    var el= document.createElement('div');
    el.innerHTML= '<a href="' escapeHTML(url) '">x</a>';
    return el.firstChild.href;
}

Biraz çirkin, ama Bunu Yaparken Kendinizi daha özlü.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 8bitdigitaltv

    8bitdigitalt

    31 AĞUSTOS 2011
  • Neil Cicierega

    Neil Ciciere

    22 Mart 2006
  • Rugiagialia

    Rugiagialia

    1 Ocak 2008