Почему <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>
?
Ответы
Ответ 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 г.. Начните здесь, чтобы найти последний контент.