Каково различие между атрибутами “Ленга” и “типа” в теге script?

Я сделал бы это вместо проверки obj.hasOwnerProperty в каждом цикле for ... in.

var obj = {a : 1};
for(var key in obj){
    //obj.hasOwnProperty(key) is not needed.
    console.log(key);
}
//then check if anybody has messed the native object. Put this code at the end of the page.
for(var key in Object){
    throw new Error("Please don't extend the native object");
}
12
задан Deduplicator 1 February 2015 в 16:25
поделиться

6 ответов

На спецификацию HTML 4.01:

тип: Этот атрибут указывает язык сценариев содержания элемента и переопределяет язык сценариев по умолчанию. Язык сценариев указан как тип контента (например, "текст/JavaScript"). Авторы должны предоставить значение для этого атрибута. Нет никакого значения по умолчанию для этого атрибута.

язык: Устаревший. Этот атрибут указывает язык сценариев содержания этого элемента. Его значение является идентификатором для языка, но так как эти идентификаторы не являются стандартными, этот атрибут был удержан от использования в пользу типа.

30
ответ дан 2 December 2019 в 04:03
поделиться

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

Если Вам не нужна определенная версия JavaScript, не используйте атрибут языка, Ваш код будет все еще работать нормальным без него.

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

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

Атрибут языка удерживается от использования из-за этого неточно определенного или неопределенного поведения.

Атрибут типа отличается полностью. Это говорит браузер, какой тип пантомимы сценарий и должен всегда указываться в теге script.

3
ответ дан 2 December 2019 в 04:03
поделиться

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

Я склонен использовать тип.

0
ответ дан 2 December 2019 в 04:03
поделиться

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

2
ответ дан 2 December 2019 в 04:03
поделиться

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

0
ответ дан 2 December 2019 в 04:03
поделиться

Ленг является языком сценария, и тип является типом MIME содержания тега script.

0
ответ дан 2 December 2019 в 04:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: