Neden ayrıldınız <script> belge ile yazarken etiketi.(yaz)?
Neden bazı siteler (veya istemciler javascript kodu vermek reklamcılar) <script>
ve/veya </script>
document.write()
çağrıları içinde etiketler bölme tekniği kullanır?
Amazon da bu, örneğin fark ettim:
<script type='text/javascript'>
if (typeof window['jQuery'] == 'undefined') document.write('<scr' 'ipt type="text/javascript" src="http://z-ecx.images-amazon.com/images/G/01/javascripts/lib/jquery/jquery-1.2.6.pack._V265113567_.js"></sc' 'ript>');
</script>
CEVAP
</script>
aksi <script></script>
çevreleyen blok çok erken biteceğini, çünkü bozuk. Gerçekten bir komut dosyası bloğu gerekiyordu çünkü <
/
, arasında bölünmüş olmalıdır (SGML göre) terminated by any end-tag open (ETAGO) sequence (i.e. </
):
STİL ve KOMUT dosyası öğeleri, veri modeli CDATA kullanıyor olsa da, bu unsurlar için, CDATA farklı kullanıcı ajanları tarafından ele alınması gerekir. İşaretleme ve varlıklar olarak ham metin olarak kabul ve uygulamaya geçirilmelidir. "
</
" (end-tag açık ayırıcı) elemanı içeriğinin sonuna sonlandırıcı olarak kabul edilir. karakter dizisinin ilk geçtiği Geçerli belgeler, bu eleman için bitiş etiketi.
Ancak uygulamada tarayıcıları </script>
bir gerçek CDATA komut bloğu ayrıştırma yakın etiket end.
XHTML kod blokları için böyle özel bir işlem yok, içlerinde <
(&
) herhangi bir karakter herhangi bir diğer öğe gibi &escaped;
olması gerekir. Ancak daha sonra eski okul HTML olarak XHTML ayrıştırma çalışan tarayıcı kafası karışık olacak. Geçici çözümler CDATA blokları içeren var, ama kolay değil. Ayrıştırıcı ya da tür üzerinde çalışan script script öğesi yazmanın daha iyi bir yolu olabilir:
<script type="text/javascript">
document.write('\x3Cscript type="text/javascript" src="foo.js">\x3C/script>');
</script>
Neden'kendini kapatma script etik...
PHP, neden&;/> script lt; ayrıştırma...
Ne amaçla bir <script> etiketi &...
Neden ilişkisel veritabanı yerine belg...
Neden HTML <center> etiketi öner...