define - html 4.01 transitional
¿Por qué<META HTTP-EQUIV="Content-Script-Type"...> casi no se usa? (8)
Al ser HTTP-EQUIV, esto tiene poco que ver con estar en desuso en HTML5 (porque aquí los valores predeterminados son JS y CSS, lo que también hace que el atributo de tipo sea innecesario), todavía existe el protocolo HTTP: https://www.ietf.org/rfc/rfc4229.txt#2.1.30
para que pueda desde el servidor enviar encabezados HTTP, por ejemplo, desde PHP
<?php
header(''Content-Type: text/html; charset=UTF-8'');
header(''Content-Script-Type: text/javascript'');
header(''Content-Style-Type: text/css'');
o nodo
res.set(''Content-Type'', ''text/html; charset=UTF-8'');
res.set(''Content-Script-Type'', ''text/javascript'');
res.set(''Content-Style-Type'', ''text/css'');
Relacionado: ¿Cuál es el punto de Content-Script-Type y Content-Style-Type .
Quería saber cuáles son las razones principales por las que los desarrolladores no usan
-
<meta http-equiv="content-script-type" content="text/javascript" />
y -
<meta http-equiv="content-style-type" content="text/css" />
en sus proyectos web. (Yo tampoco, por cierto)
Al evitar que uno tenga que declarar el type
usado en cada instancia de <script>
y <style>
, no parece tener inconvenientes. Sin embargo, de hecho, nunca he visto a uno de ellos en la naturaleza. ¿Hay alguna consideración que uno deba tomar al confiar en estas etiquetas <meta>
?
De acuerdo con W3C , los valores http-equiv "tipo de contenido-tipo" y "tipo de tipo de script de contenido" son unknown
para el marcado meta HTML5. Además, el validador W3C produce el siguiente error cuando una página de HTML5 tiene tales marcas:
Línea X, columna Y: valor incorrecto Content-Script-Type para el atributo http-equiv en el elemento meta.
<meta http-equiv="Content-Script-Type" content="text/javascript">
Así que esencialmente se supone que debemos evitarlos.
Es una pena que estas configuraciones se hayan quedado obsoletas con HTML5. Porque, como parece que nadie más lo menciona, ¡también puede poner la configuración predeterminada del conjunto de caracteres allí! Así:
<meta http-equiv="Content-Script-Type" content="text/javascript; charset=UTF-8;">
<meta http-equiv="Content-Style-Type" content="text/css; charset=UTF-8;">
Hablando como un desarrollador que acaba de enterarse de estas etiquetas a partir de tu pregunta, diría que es la maldición de los navegadores antiguos (te estoy mirando, IE6). Porque cuando me entero de nuevas etiquetas, por lo general continúo sin usarlas. Siempre asumo que es posible que los navegadores no admitan ninguna característica de la que nunca haya oído hablar, hasta que demuestre lo contrario (lo que lleva tiempo), y como tiene que programar el mínimo denominador común (incluso si "mejora progresivamente" más adelante), eso significa, en este caso, usar el método más seguro y detallado.
Habiendo dicho eso, puedo realmente intentarlo. Hay poco riesgo, a menos que esté utilizando tipos de contenido distintos de text/javascript
y text/css
, ya que esos han sido los valores predeterminados asumidos, como, para siempre. De hecho, como lo señala @duskwuff, probablemente tampoco tenga sentido usarlo.
Se deprecian. Ahora, la gente usa <script type=''text/javascript>
y <style type=''text/css''>
.
Todos los navegadores web de los que he oído hablar se establecerán de forma predeterminada como " type="text/javascript"
en todas las etiquetas <script>
, y type="text/css"
en las etiquetas <style>
. (La única alternativa significativa que he escuchado es VBScript para las etiquetas <script>
en MSIE, que está muy en desuso. No hay alternativa a CSS). En reconocimiento de esto, la especificación HTML5 define ambos atributos como nuevos opcionales.
Como tal, no hay ningún punto en las metaetiquetas Content-Script-Type
y Content-Style-Type
, que yo sepa, son ignoradas por la mayoría, si no todos, los navegadores.
<meta http-equiv="Content-Style-Type" content="text/css; charset=UTF-8;">
El meta de CSS es importante para los estilos en línea donde no podemos declarar el tipo, así que:
<span style="background:pink">
<script type="text/javascript">
es depricado, asi que use
<script type="application/javascript">
En cambio, como se mencionó aquí en abril de 2006 . Comience aquí para encontrar el último contenido.