Каков наилучший способ включить файл JavaScript с помощью тега script?

50

Я обычно включаю файлы JavaScript, используя тег script, как показано ниже.

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

Я видел некоторых людей, использующих атрибут языка.

Сейчас я нахожу много людей, опускающих атрибут type. Я начал чувствовать, что если JavaScript является языком сценариев по умолчанию, то даже я должен опустить атрибут type. Было бы хорошо, чтобы опустить атрибут типа? Это вызвало бы какие-либо проблемы?

крекер
источник

Ответы:

48

Взгляните на это как на справочник (Книга скорости): http://www.bookofspeed.com/chapter3.html

По сути, лучший способ - это объединить весь ваш javascript в один файл, который называется что-то вроде all.min.js, что также сведено к минимуму.

Обычно в HTML5 вы делаете что-то вроде:

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

Как вы можете видеть, вам НЕ нужен атрибут type в HTML5, но вы нуждаетесь в других версиях HTML и XHTML . В спецификации поясняется, что если содержимое отличается от «text / javascript», вам необходимо указать атрибут type в HTML5.

Некоторые вещи, которые нужно помнить:

Примечание:

Если вы собираетесь указать другой тип, отличный от text/javascriptтого, который вы используете, используйте одно из следующих:

  • "Применение / ECMAScript"
  • "Приложение / JavaScript"
  • "Применение / х-ECMAScript"
  • "Применение / х-JavaScript"
  • "text / ecmascript" "text / javascript"
  • "Текст / javascript1.0"
  • "Текст / JavaScript1.1"
  • "Текст / JavaScript1.2"
  • "Текст / javascript1.3"
  • "Текст / javascript1.4"
  • "Текст / javascript1.5"
  • "Текст / JScript"
  • "Текст / LiveScript"
  • "Текст / х-ECMAScript"
  • "Текст / х-JavaScript"
  • "Текст / JavaScript; e4x = 1"

Приведенный выше список взят из: http://dev.w3.org/html5/spec-author-view/the-script-element.html#scriptingLanguages

Помните, что вы не будете использовать атрибут языка, только атрибут типа.

alvincrespo
источник
2
А как насчет языкового атрибута? Хорошо ли это указывать или опускать?
Взломщик
1
Атрибут языка не поддерживается в HTML5, вместо этого они объединили его с атрибутом типа. Опять же, если это что-то отличное от «text / javascript», вы можете указать это, используя атрибут type и одно из следующего на этой странице: dev.w3.org/html5/spec-author-view/the-script-element .html
alvincrespo
Я обновил ответ, чтобы отразить мой комментарий выше.
alvincrespo
Имеет ли установка что-то подобное text/javascript1.3какое-либо действительное влияние, отличное от его пропуска?
Артуро Торрес Санчес