2010-11-18 26 views
7

Genellikle inline WordPress temalarında inline Javascript kullanıyorum. Birkaç ay öncesine kadar //<![CDATA[ ... //]]> satır içi Javascript sarma duymuştum, ve ben birkaç yıl için adil bir düzeyde yeterlilik düzeyinde bu şeyler yapıyoruz.CDATA gerçekten gerekli mi?

Çevreye baktım ve insanların bunu kullanabileceğini duydum çünkü Javascript aksini doğrulamıyor. Sık sık 1.0 xHTML doctype kullanıyorum ve işaretlememi doğrulayan bir sorun yaşamadım. JQuery kullanıyorum, ya da genellikle eklentiyi etkinleştirmek için sadece birkaç satır kodum var mı? Ya da bu konuda w3 doğrulayıcı mıdır? Bu CDATA işaretlerini kullanmadığınız zaman işlevsel etki olduğuna dair kanıt var mı?

+0

Örneğin, bazı ayrıştırıcılar üzerinde yolculuk düşünüyorum doğrular çünkü bu kadar basit bir şey geçersiz Küçüktür ve JavaScript işaretleri (< and >) büyüktür CDATA bölümünde olmayan kod. –

+2

Bu, http://stackoverflow.com/questions/66837/when-is-a-cdata-section-necessary-within-a-script-tag dosyasının bir kopyası gibi görünüyor. Orada bazı iyi cevaplar var. –

+0

@Gintautas - parsers *, diğer şeylerin yanı sıra onlara seyahat etmelidir. Jost'un cevabı iyi. – Quentin

cevap

0

Sanırım XHTML Strict'e uymak için kullanmanız gerekiyor. aksi halde JavaScript geçerli bir XML olmaz.

4

Bugün sadece XHTML belgenizin geçerli olmasını istiyorsanız gerekir. Örneğin. CDATA'da ile javascript <p> etiketleri o

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en"> 
<head> 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
    <title>foo</title> 
    <script type="text/javascript"> 
    alert("<p>Hallo</p>"); 
    </script> 
</head> 
<body> 
</body> 
</html> 
+1

Tamam, bu yüzden, sayfanın geçerli olup olmadığını, bilmesi iyi bir şey olup olmadığına karar veren satır içi komut dosyasının içeriği. Ben sadece birkaç eklentileri için bir çağrı olsa bile, dışarıdan benim şeyler bağlamaya başlayacağım düşünüyorum, bu şekilde daha temiz görünüyor. Hızlı cevap için teşekkürler (Vay!) – Daniel

İlgili konular