2011-06-12 19 views
23

Relacionados:What's the point of Content-Script-Type and Content-Style-Type.¿Por qué <META HTTP-EQUIV = "Content-Script-Type" ...> no se usa?

lo que quería saber cuáles son las principales razones son que los desarrolladores no utilizan

  • <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.)

Ahorro uno de tener que declarar la type utilizado en cada caso de <script> y <style>, no parecen tener ningún inconveniente. Sin embargo, de hecho, nunca he visto uno de ellos en la naturaleza. ¿Hay alguna consideración que tomar al confiar en estas etiquetas <meta>?

+2

Probablemente porque son muy insólito. La mayoría de la gente acaba de escribir '

12

Todos los navegadores web que he escuchado de los tome por defecto en todos los asumiendo type="text/javascript"<script> etiquetas, y type="text/css" en <style> etiquetas. (La única alternativa significativa que he escuchado es VBScript para las etiquetas <script> en MSIE, que está muy obsoleto. No hay alternativa a CSS.) En reconocimiento de esto, la especificación HTML5 define ambos atributos como recientemente opcionales.

Como tal, no hay ningún punto en las metaetiquetas Content-Script-Type y Content-Style-Type - por lo que yo sé, la mayoría de los navegadores, si no todos, ignoran.

3

Hablando como un desarrollador que acaba de enterarse de estas etiquetas de su pregunta, diría que es la maldición de los navegadores heredados (te estoy mirando, IE6). Porque cuando aprendo nuevas etiquetas, por lo general continúo sin usarlas. Siempre asumo que los navegadores podrían no admitir ninguna característica que nunca haya escuchado, hasta que demuestre lo contrario (lo que requiere tiempo), y ya que tiene que programar al mínimo común denominador (incluso si "mejora progresivamente" más adelante) , eso significa, en este caso, usar el método más seguro y más detallado.

Habiendo dicho eso, en realidad puedo darles una oportunidad. Hay poco riesgo, a menos que use los tipos de contenido que no seantext/javascript y text/css, ya que esos han sido los valores predeterminados supuestos, como, para siempre. De hecho, como señala @duskwuff, probablemente no tenga sentido usar ninguno de los dos.

-2

Se deprecian. Ahora, las personas usan <script type='text/javascript> y <style type='text/css'>.

+2

Si están * en desuso *, debe hacer una referencia a un documento del W3C (por ejemplo) que lo diga, o una razón por la cual es justo llamarlos 'obsoletos'. –

5

Es una pena que estas configuraciones hayan quedado obsoletas con HTML5. Porque, como nadie más parece estar mencionando, ¡también puedes poner configuraciones de juego de caracteres por defecto! Por lo tanto:

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

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

El meta CSS es importante que los estilos en línea donde no podemos declarar el tipo, así que:

<span style="background:pink"> 
-5
<script type="text/javascript"> 

se depricated, por lo que su uso

<script type="application/javascript"> 

en su lugar como se menciona aquí en april 2006. Start here para encontrar el último contenido.

+2

Si no estoy del todo equivocado, nadie del W3C o WHATWG se preocupa por el RFC 4329 (¡pero puede probar que estoy equivocado!). Además, usar 'script type =" application/javascript "' es incorrecto. Estás mezclando estándares no relacionados. – kay

-1

Ser http-equiv - esto tiene poco que ver con ser desaprobados en HTML 5 (porque aquí de hecho los valores por defecto son JS y CSS - que también hace que el tipo de atributo innecesario) - todavía hay 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'); 
Cuestiones relacionadas