Jaki jest najlepszy sposób na dołączenie pliku JavaScript za pomocą znacznika skryptowego?


50

Zazwyczaj dołączam pliki JavaScript, używając tagu skryptu, jak poniżej.

<script type="text/javascript" src="somefile.js"></script>

Widziałem także ludzi korzystających z atrybutu language.

Obecnie wiele osób pomija atrybut typu. Zacząłem mieć wrażenie, że jeśli JavaScript jest domyślnym językiem skryptowym, to nawet ja powinienem pominąć atrybut type. Czy dobrze byłoby pominąć atrybut type? Czy spowodowałoby to jakieś problemy?

Odpowiedzi:


48

Spójrz na to jako odniesienie (Book of Speed): http://www.bookofspeed.com/chapter3.html

Zasadniczo najlepszym sposobem jest połączenie całego javascript w jeden plik o nazwie coś takiego jak all.min.js, który również jest zminimalizowany.

Zazwyczaj w HTML5 zrobiłbyś coś takiego:

<script src="js/all.min.js"></script>

Jak widać, ty NIE trzeba atrybut type w HTML5, ale trzeba zrobić w innych wersjach HTML i XHTML . Specyfikacja wyjaśnia, że ​​jeśli treść jest inna niż „text / javascript”, musisz określić atrybut type w HTML5.

Kilka rzeczy do zapamiętania:

Uwaga:

Jeśli zamierzasz określić inny typ niż text/javascriptużyjesz jednego z następujących:

  • „application / ecmascript”
  • „application / javascript”
  • „application / x-ecmascript”
  • „application / x-javascript”
  • „text / ecmascript” „text / javascript”
  • „text / javascript1.0”
  • „text / javascript1.1”
  • „text / javascript1.2”
  • „text / javascript1.3”
  • „text / javascript1.4”
  • „text / javascript1.5”
  • „text / jscript”
  • „text / livescript”
  • „text / x-ecmascript”
  • „text / x-javascript”
  • „text / javascript; e4x = 1”

Powyższa lista pochodzi z: http://dev.w3.org/html5/spec-author-view/the-script-element.html#scriptingLanguages

Pamiętaj, że nie użyjesz atrybutu języka, tylko atrybut typu.


2
A co z atrybutem języka. Czy warto to określić, czy pominąć?
Cracker,

1
Atrybut języka nie jest obsługiwany w HTML5, zamiast tego połączyli go z atrybutem typu. Ponownie, jeśli jest to coś innego niż „tekst / javascript”, należy to określić za pomocą atrybutu type i jednej z poniższych stron: dev.w3.org/html5/spec-author-view/the-script-element .html
alvincrespo

Zaktualizowałem odpowiedź, aby odzwierciedlić mój komentarz powyżej.
alvincrespo

Czy ustawienie czegoś takiego text/javascript1.3ma jakikolwiek faktyczny skutek, inny niż pominięcie go?
Arturo Torres Sánchez
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.