Który jest lepszy lub wygodniejszy w użyciu:
<script type="text/javascript">...</script>
lub
<script>...</script>
Który jest lepszy lub wygodniejszy w użyciu:
<script type="text/javascript">...</script>
lub
<script>...</script>
<!doctype html>nie ma potrzeby używania wskazówki typu MIME type="text/javascript"na <script>tagu, ponieważ jest ona stosowana domyślnie. Z drugiej strony (inne niż HTML5) jest to zalecane i zalecane (w odniesieniu do podpowiedzi typu MIME type="text/javascript").
Odpowiedzi:
Czy w ogóle potrzebujesz atrybutu typu? Jeśli używasz HTML5, nie. W przeciwnym razie tak. HTML 4.01 i XHTML 1.0 określają typeatrybut zgodnie z wymaganiami, podczas gdy HTML5 ma go jako opcjonalny, domyślnie text/javascript. HTML5 jest obecnie powszechnie wdrażany, więc jeśli używasz typu dokumentu HTML5, <script>...</script>jest prawidłowy i jest dobrym wyborem.
Jeśli chodzi o to, co powinno znajdować się w atrybucie typu, typ MIME application/javascriptzarejestrowany w 2006 roku ma zastąpić text/javascripti jest obsługiwany przez aktualne wersje wszystkich głównych przeglądarek (w tym Internet Explorer 9). Cytat z odpowiedniego RFC :
Ten dokument definiuje zatem text / javascript i text / ecmascript, ale oznacza je jako „przestarzałe”. Odradza się używanie eksperymentalnych i niezarejestrowanych typów mediów, wymienionych w części powyżej. Rodzaje mediów,
* application/javascript * application/ecmascriptktóre są również zdefiniowane w tym dokumencie, są przeznaczone do powszechnego użytku i powinny być używane zamiast nich.
Jednak IE do wersji 8 włącznie nie wykonuje skryptu wewnątrz <script>elementu z typeatrybutem albo application/javascriptlub application/ecmascript, więc jeśli potrzebujesz obsługiwać stary IE, utkniesz z text/javascript.
typeatrybutu. Weryfikacja w oparciu o HTML4.01 lub XHTML 1.0 nie jest już tym, co powinieneś już robić, a wszystkie przeglądarki będą obsługiwać twój tag beztext/javascript
typeponieważ działa we wszystkich przeglądarkach. Może to był ktoś inny.
Oba będą działać, ale standard xhtml wymaga określenia typerównież:
<script type="text/javascript">..</script>
<!ELEMENT SCRIPT - - %Script; -- script statements -->
<!ATTLIST SCRIPT
charset %Charset; #IMPLIED -- char encoding of linked resource --
type %ContentType; #REQUIRED -- content type of script language --
src %URI; #IMPLIED -- URI for an external script --
defer (defer) #IMPLIED -- UA may defer execution of script --
>
type = content-type [CI] Ten atrybut określa język skryptowy zawartości elementu i zastępuje domyślny język skryptowy. Język skryptowy jest określony jako typ treści (np. „Tekst / javascript”). Autorzy muszą podać wartość tego atrybutu. Nie ma wartości domyślnej dla tego atrybutu.
Zauważa powyższe podkreślenie.
http://www.w3.org/TR/html4/interact/scripts.html
Uwaga: od HTML5 (daleko) typeatrybut nie jest wymagany i jest domyślny.
Musisz użyć, <script type="text/javascript"> </script>chyba że używasz HTML5. W takim przypadku zachęcamy do preferowania <script> ... </script>(ponieważ atrybut typu jest domyślnie określony na tę wartość)
W najnowszym Firefoksie muszę używać:
<script type="text/javascript">...</script>
W przeciwnym razie skrypt może nie działać poprawnie.