2008-10-15 25 views
65

Eskiden, "eski" tarayıcıların komut dosyasını görüntülemesini engellemek için geçmişte HTML yorum etiketlerini JavaScript bloklarının etrafına sarmak için kullanılır. Lynx bile JavaScript'i göz ardı edecek kadar akıllı, bu yüzden neden bazı insanlar bunu yapmaya devam ediyor? Bugünlerde geçerli sebep var mı?HTML yorumlarını JavaScript bloklarında kullanmak hala mantıklı mı?

<script type="text/javascript"> 
<!-- 
//some js code 
//--> 
</script> 

Düzenleme: Karşılaştığım bir durum var. Dreamweaver gibi bazı kod düzenleyicileri, "tasarım görünümü "ndeyken bir JavaScript dizesinin içinde alıntılanan HTML ile karıştırılır ve sayfanızın bir parçası olarak görüntülenmeye çalışır.

+4

sanırım Ken Keyes, Jr. "maymunlar/muz/merdiven/su spreyi" deneyi ile bu biraz ilgilidir. İnsanlar bunu yapmaya devam ettikleri için bunu yapmaya devam ediyorlar, ama neden diye sormuyorlar. –

+0

-> // -> 'olmalıdır –

cevap

71

Hayır, kesinlikle değil. Bu günlerde herhangi bir kullanıcı aracısı, arama motoru örümceği veya kesinlikle başka bir şey, çalıştırılamıyorsa Javascript'i göz ardı edecek kadar akıllıdır. Bu tüm yararlı olduğu zaman

sadece çok kısa bir süre vardı ve bu tarafından ve büyük olması gerekli tarayıcıları olarak yaklaşık 1996

+6

LOL - Suçlu! Ama sonra 1996 yılında bunu yapmayı öğrendim ve hiç kimse farklı bir şey söylemedi ... –

+0

Sanırım, kullanımdan kaldırıldığını okudum ama bağlantıyı bulamıyorum. – some

19

artık bunu yapmak için iyi bir neden yoktur oldu web'den kayboldu.

  • Mozilla 1.1 +/Opera'nın 7

    : developer.mozilla.org den - bu XHTML kullanıyorsa

    Aslında, bunu aslında sayfayı yorumlamak belli yaşlı tarayıcıları girişimleri ile istenmeyen sorunlara yol açabilir

    CSS uygulamayın veya JavaScript'i çalıştırmayın.

  • Netscape 7,0x/Mozilla 1.0.x

    CSS uygulamayın ama JavaScript çalıştırmak gelmez.

  • Internet Explorer 5.5+

    belgeyi görüntülenemiyor.

Bu site ayrıca yukarıda belirtilen severalproblems örneklerine bağlar. Gerçi CDATA kullanmalıdır

14

...

<script type="text/javascript" charset="utf-8"> 
/* <![CDATA[ */ 

/* ]]> */ 
</script> 

varsa '<', '>', '&' Çünkü, vb Kodunuzdaki, kod doğrulama yapmaz :)

Belki

<script charset="utf-8"> 
//<![CDATA[ 

//]]> 
</script> 

t: CDATA blokları kullanmak zorunda değil

+11

XHTML uyumlu olmak istiyorsanız, buna ihtiyacınız yoktur. –

+4

Gerçekten de iyi biçimlendirilmiş XML belgelerinde Javascript kullanmak istiyorsanız, bunu harici bir .js dosyasına yerleştirin. Örneğin, Mozilla XUL uygulamaları bunu gerektirir. – MarkR

+0

heh, yanıt, belge komut dosyalarındaydı. Tabii ki, tüm css ve jss dış dosyaları :) :) –

1

Ben aşağıdaki sözdizimini kullanılan düşünmüş, Staicu benim docttype olarak Sıkı HTML 4.01 kullanmayı tercih nedenlerinden biridir, fakat O iki eşdeğer mi? Birinin diğerinin bir avantajı olup olmadığını bilen var mı?

+0

// bir satır yorumu,/* */bir blok yorumudur. Her ikisini de kullanabilirsiniz, javascript ile aynıdır (yorumlanır). Ancak, sunucu tarafından gönderilen MIME türü lehine tarayıcılar tarafından yok sayılan type = "text/javascript" – some

+1

type = "text/javascript" değerini belirlemeyi unutmuşsunuzdur. Bu ihmal kasıtlıydı. –

+1

Andrew: Anlamıyorum. Bu, HTML belgesinde gömülü bir komut dosyasıdır, bu nedenle metin/javascript'in nereden geliyor? Ayrıca, 'charset' özniteliği' src' özniteliğini kullanarak bağlanılan dosyanın karakter kümesini belirttiğinden, 'src' özniteliği yoksa' charset' özniteliğini kullanmanız gerektiğini düşünmüyorum. –

11

Hayır, artık kimsenin buna ihtiyacı yok ve eğer varsa, umursamanız gereken bazı problemleriniz var. İhtiyacı olan tarayıcıları gerçekten desteklemek istediğinizde, daha fazla şeylere dikkat etmeniz gerekir. Hatta css eksikliği hakkında konuşmak bile! Bununla birlikte, büyük sorun şu ki, insanlar bunu yanlış yapıyorlar.Satır

--> 

ikincisi

//--> 

okumalısınız çünkü gerçekte örnek nitelik diyor yazın, yanlış "text/JavaScript" çok yanlış şeydir. Bu "metin/javascript" (tüm küçük harf) olmuştur, ancak bu eski (IANA List bakın) ve şimdi "uygulama/javascript" olmalıdır (bkz. another IANA List. Ancak, JS Guru Douglas Crockford, sadece bırakmanız gerektiğini söyledi dışarı

kimse önce de belirtildiği Başka sorun şudur:.. HTML yorumları içinde, "-" izin ve sizin tek x azaltma "X-'i" kullanamayacağınız anlamına gelir değildir

+0

O haklı. Javascript'in yürütülmesini engeller -> – jezzipin

İlgili konular