2008-08-31 35 views
5

Hata ayıklama saatlerinden sonra, FireFox'ta, DOM'ın innerHTML'sinin işaretlemede olanı yansıttığı, ancak IE'de innerHTML'in işaretlemede neyin var olduğunu gösterdiği anlaşılıyor. Kullanıcı tarafından veya dinamik olarak (örneğin Javascript ile) yapılır.Firefox'a karşı IE: innerHTML işleme

Bunu doğru yapan başka biri var mı? Her ikisinin de aynı şekilde davranmasını sağlamak için ilginç çalışmalar var mı?

+0

Bu eski bir sorudur - neden 'steve m' henüz bir cevap seçmedi? –

cevap

9

Pat. Oyunun bu noktasında, mevcut Javascript çerçeveleri göz önüne alındığında tarayıcılar arası uyumluluk ile başa çıkmak için kendi kodunuzu yazmanız pek bir anlam ifade etmiyor. Neredeyse her zevke uygun bir çerçeve var (bazıları gerçekten çok küçük) ve tarayıcılar arasındaki tüm farklılıkları gerçekten soyutlamaya odaklanmışlar. Bunu yapmak için muhtemelen WAY'ı daha fazla test ediyorlar.

jQuery veya Yahoo'nun YUI'si (bir günde kaç kişinin Yahoo Javascript'i vurduğunu ve çeşitli tarayıcıların olduğunu düşünün), sizin ya da ben geldiğim tüm snippet'lerden daha fazla yol testine tabi tutulur.

11

Tarayıcılar arasında tutarlı bir sonuç almak için jQuery'nin .html() kullanıyorum.

+0

Aynı burada! jQuery, DOM ile çalışırken bir kurtarıcıdır. –

+0

Sorun, jQuery.html() _not_'un tutarlı sonuçlar ürettiğidir. JQuery belgelerinin ilgili kısmından alıntı yapma: "Bu yöntem, tarayıcının innerHTML özelliğini kullanır. Bazı tarayıcılar, orijinal bir belgede HTML kaynağını tam olarak kopyalayan HTML'yi döndüremez. Örneğin, Internet Explorer, içeriyorsa, özellik değerleri etrafındaki teklifleri çıkarır. sadece alfasayısal karakterler. " – merryprankster

1

document.getElementById ("thisid") yerine prototip ve $ ("thisid") sözdizimini kullanmak sizin için hile yapabilir. Benim için çalıştı.

2

İyi bir kütüphane kullanmak, tarayıcı tutarsızlıkları elde etmek için harika bir yoldur ve jQuery genellikle tavsiye ettiğim bir şeydir - ve özellikle bir formdaki öğeleri değiştirirken sorun yaşamaya devam ederseniz, jQuery gerçekten kullanışlı eklentiler, özellikle form manipülasyonu ve değerlendirmesine odaklanmıştır.