Подтвердить что ты не робот

Нужно ли нам "script.type =" text/javascript "при динамическом создании script?

Код выглядит следующим образом:

var script = document.createElement('script');
//script.type = 'text/javascript'; // do I need this ?
script.src = src;
document.body.appendChild(script);

Вторая строка была прокомментирована, потому что это не имеет никакого значения. Или я что-то упускаю?

Спасибо,

4b9b3361

Ответ 1

Нет. Значение по умолчанию для type уже установлено на JavaScript ( "text/javascript" ). Атрибут type является свойством тега SCRIPT, чтобы разрешить Vbscript, который поддерживается только IE.

Атрибут type также стал необязательным в HTML5. Это может быть поощрением опустить атрибут type элемента script.

Ответ 2

Нет. Вероятно, это не строго верно в html4, но это не должно вызывать никаких проблем.

Спецификация HTML5

"The type attribute gives the language of the script or format of the data..." 
"...The default, which is used if the attribute is absent, is 'text/javascript'."

Единственное, что я заметил, это то, что IDE иногда не использует правильную подсветку синтаксиса, когда вы не укажете тип. Я нашел это в Coda для Mac, это единственная причина, по которой я когда-либо ее вставлял.

Ответ 3

Браузеры будут работать без него.

Если вы создаете HTML 4 или XHTML 1, то его исключение будет несоответствием.

Если вы создаете HTML, то это явно необязательно.

Ответ 4

Тип attribute требуется в HTML 4 и XHTML, но необязательно в HTML5.