В чем разница между атрибутами «lang» и «type» в теге скрипта?

В чем техническая разница между <script> и lang=Javascript для тегов HTML type=text/javascript?

Я обычно использую оба, потому что всегда предполагал, что более старым браузерам нужен тот или другой.

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
13
0
6 156
7
Перейти к ответу Данный вопрос помечен как решенный

Ответы 7

Тип является более общим и относится к mime-кодировке блока скрипта. Насколько я знаю, вам нужен только один, и обычно блок будет работать без атрибутов типа или лага.

Я предпочитаю использовать шрифт.

язык - старый атрибут, тип - новый. Вам нужно будет использовать переходный (не положительный, но вполне уверенный) doctype, чтобы законно использовать оба атрибута.

lang - это язык сценария, а type - это MIME-тип содержимого тега сценария.

<script language = ""> может использоваться для обслуживания VBScript и различных версий Javascript.

Если вам не нужна конкретная версия Javascript, не используйте атрибут language, ваш код по-прежнему будет работать без него.

Даже если вам действительно нужна конкретная версия Javascript для некоторой части кода, попробуйте проверить, существует ли эта функция, с помощью проверки (typeof window.blah.feature! = "Undefined").

Вот пример использования языкового атрибута: http://bclary.com/2004/08/27/javascript-version-incompatibilities

Атрибут language устарел из-за этого плохо определенного или неопределенного поведения.

Атрибут типа совершенно другой. Он сообщает браузеру, какой MIME-тип представляет собой сценарий, и всегда должен указываться в теге сценария.

Ответ принят как подходящий

Согласно HTML 4.01 Спецификация:

type: This attribute specifies the scripting language of the element's contents and overrides the default scripting language. The scripting language is specified as a content type (e.g., "text/javascript"). Authors must supply a value for this attribute. There is no default value for this attribute.

language: Deprecated. This attribute specifies the scripting language of the contents of this element. Its value is an identifier for the language, but since these identifiers are not standard, this attribute has been deprecated in favor of type.

Обратите внимание, что type больше не требуется в HTML 5. Если он отсутствует, значение по умолчанию - text/javascript. (w3.org/html/wg/drafts/html/master/…)

Daniel Rikowski 28.07.2014 16:53

По сути, ни один из атрибутов не нужен. Единственная причина для их использования - это проверка, которая стала недействительной в HTML5.

В ОП специально сказано «язык», а не «язык». Гораздо более старый тег «языка» был бы Javascript или VBScript.

Но Текущий и, казалось бы, действительный тег "язык" на самом деле является языком написано, таким как английский, испанский, японский. Microsoft Visual Studio предоставляет раскрывающийся список значений для «lang», и все они такие как en-us, fr, ja и т. д. Для английского (США), французского, японского и т. д.

Я думаю, что мог - веские причины для использования этого тега, если у вас сложная многоязычная настройка - может быть, есть система управления контентом, которая могла бы поддерживать это, а затем доставлять правильный файл javascript - например, ресурсы управления jQuery?

Это должен быть правильный ответ. язык и язык - разные атрибуты.

grysik44 09.04.2016 22:34

Недавно я узнал, что использование lang для определения письменного языка (английский, испанский и т. д.) Рекомендуется для обеспечения доступности - например, программ чтения с экрана.

David Storfer 06.03.2018 18:05

Другие вопросы по теме