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

Почему <META HTTP-EQUIV = "Content- Script -Type"...> в основном не используется?

Связанный: Что такое Content- Script -Type и Content-Style-Type.

Я хотел знать, в чем главные причины, по которым разработчики не используют

  • <meta http-equiv="content-script-type" content="text/javascript" /> и
  • <meta http-equiv="content-style-type" content="text/css" />

в своих веб-проектах. (Меня нет, кстати.)

Сохраняя необходимость объявления объявленного type для каждого экземпляра <script> и <style>, у него нет никаких недостатков. Но на самом деле я никогда не видел никого из них в дикой природе. Есть ли какие-либо соображения, которые нужно принимать, полагаясь на эти теги <meta>?

4b9b3361

Ответ 1

Согласно W3C, атрибуты http-equiv "content-style-type" и "content- script -type" являются unknown для метаданных HTML5 разметка! Более того, валидатор W3C выдает следующую ошибку, если на странице HTML5 есть такие разметки:

Строка X, Столбец Y: Плохое значение Content- script -Тип для атрибута http-equiv для метаданных элемента.

<meta http-equiv="Content-Script-Type" content="text/javascript">

Поэтому мы должны избегать их.

Ответ 2

Все веб-браузеры, о которых я слышал, по умолчанию будут принимать type="text/javascript" для всех тегов <script> и type="text/css" в тегах <style>. (Единственная значимая альтернатива, о которой я слышал, это теги VBScript для <script> в MSIE, которые сильно устарели. Нет альтернативы CSS.) В знак признания этого спецификация HTML5 определяет оба атрибута как новые необязательные.

Как таковой, нет точек в метатегах Content-Script-Type и Content-Style-Type - насколько я знаю, их игнорируют большинство, если не все, браузеры.

Ответ 3

Стыдно, что эти настройки стали устаревшими с HTML5. Потому что, как никто больше не упоминает, вы также можете установить настройки набора символов по умолчанию! Таким образом:

<meta http-equiv="Content-Script-Type" content="text/javascript; charset=UTF-8;"> <meta http-equiv="Content-Style-Type" content="text/css; charset=UTF-8;">

Ответ 4

Говоря как разработчик, который только что узнал об этих тегах из вашего вопроса, я бы сказал, что это проклятие старых браузеров (я смотрю на вас, IE6). Потому что, когда я узнаю о новых тегах, я обычно не использую их. Я всегда полагаю, что браузеры могут не поддерживать какую-либо функцию, о которой я никогда не слышал, пока я не докажу другое (что требует времени), и поскольку вам нужно запрограммировать наименее общий знаменатель (даже если вы "постепенно улучшаете" позже), это означает в этом случае использование более безопасного, более подробного метода.

Сказав это, я действительно могу попробовать. Там мало риска, если вы не используете типы контента, отличные от text/javascript и text/css, поскольку они были предполагаемыми значениями по умолчанию, например, навсегда. Действительно, как указывает @duskwuff, вероятно, нет смысла использовать либо.

Ответ 5

<meta http-equiv="Content-Style-Type" content="text/css; charset=UTF-8;">

Метка CSS важна для встроенных стилей, где мы не можем объявить тип, поэтому:

<span style="background:pink">

Ответ 6

Будучи HTTP-EQUIV - это мало связано с тем, что он устарел в HTML5 (потому что здесь действительно значения по умолчанию - JS и CSS), что также делает ненужным атрибут типа) - HTTP-протокол все еще существует: https://www.ietf.org/rfc/rfc4229.txt#2.1.30

так что вы можете с сервера очень хорошо отправлять HTTP-заголовки, например. от PHP

<?php
header('Content-Type: text/html; charset=UTF-8');
header('Content-Script-Type: text/javascript');
header('Content-Style-Type: text/css');

или node

res.set('Content-Type', 'text/html; charset=UTF-8');
res.set('Content-Script-Type', 'text/javascript');
res.set('Content-Style-Type', 'text/css');

Ответ 7

Они амортизируются. Теперь люди используют <script type='text/javascript> и <style type='text/css'>.

Ответ 8

<script type="text/javascript">

лишается, поэтому используйте

<script type="application/javascript">

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