SORU
16 Aralık 2009, ÇARŞAMBA


HTML varlıklar Javascript Unescape?

XML-RPC bir arka uç ile iletişim kuran bazı Javascript kodu var. XML-RPC şeklinde bir dize döndürür:

<img src='myimage.jpg'>

HTML içine dizeleri eklemek için Javascript kullanın, ancak tam anlamıyla bir hale getirir. Bir resim göremiyorum, ben kelimenin tam anlamıyla dize bakın:

<img src='myimage.jpg'>

Benim tahminim HTML XML-RPC kanalı üzerinden kaçtı.

Nasıl Javascript dize unescape miyim? Bu sayfada tekniklerini denedim, başarısız: http://paulschreiber.com/blog/2008/09/20/javascript-how-to-unescape-html-entities/

Sorunu teşhis etmek için başka yollar nelerdir?

CEVAP
16 Aralık 2009, ÇARŞAMBA


Aşağıdaki yöntemi kullanın:

function htmlDecode(input){
  var e = document.createElement('div');
  e.innerHTML = input;
  return e.childNodes.length === 0 ? "" : e.childNodes[0].nodeValue;
}

htmlDecode("<img src='myimage.jpg'>"); 
// returns "<img src='myimage.jpg'>"

Temelde bir DOM öğesi programlı olarak oluşturmak, innerHTML kodlanmış HTML atama ve metin düğümü innerHTML ekleme üzerinde oluşturulan nodeValue almak.

Çapraz tarayıcı HTML Character Entities tüm kabul çalışacak.

EDİT: bu kod eski sürümü here on jsFiddle (IE view) kanıtlandığı üzere boş giriş ile IE işe yaramadı. Yukarıdaki sürüm tüm girişleri ile çalışır.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Hollyscoop

    Hollyscoop

    30 Ocak 2007
  • L- Crysis

    L- Crysis

    30 Aralık 2011
  • ODN

    ODN

    26 Kasım 2006