2010-06-03 11 views
5

¿Cuál es la diferencia entre:diferencia b/w <script

  1. < script language = "javascript" type = "text/javascript"> </script type>

  2. < script = "text/javascript"> </script>

  3. < script language = "javascript"> </script>

+0

Ver también: http://stackoverflow.com/questions/112482/what-is-the-difference-between-lang-and -type-attributes-in-a-script-tag – CMS

+0

Ver también: http://stackoverflow.com/questions/2706290/why-write-script-typetext-javascript-when-the-mime-type-is-set- por el servidor/2706345 # 2706345 –

Respuesta

6

El número 2 es lo mejor que puede hacer por ahora y en el futuro inmediato.

En primer lugar, el atributo language está en desuso en la HTML 4.01 specification y la draft HTML 5 specification, y omite de XHTML 1.0 Strict, por lo que las opciones 1 y 3 están fuera.

En segundo lugar, ¿necesita algún tipo de atributo? Sí. HTML 4.01 y XHTML 1.0 especifican el atributo type según sea necesario, mientras que HTML5 lo tiene como opcional, por defecto a text/javascript. Por lo tanto, hasta que HTML5 se finalice y se implemente ampliamente, debe tener el atributo type si desea que su HTML sea válido, lo que excluye el simple <script></script> (sé que esta no era una de las opciones originales, pero es algo que he visto recomendado).

En tercer lugar, ¿qué debería ir en el atributo de tipo? Como señaló Matthew Flaschen, el tipo MIME application/javascript registrado en 2006 está destinado a reemplazar text/javascript. Una cita de the relevant RFC:

Este documento define texto/javascript y texto/ecmascript pero los marca como "obsoletos". Se desaconseja el uso de tipos de medios experimentales y no registrados, como se detalla en la parte anterior. Los tipos de medios,

* application/javascript 
    * application/ecmascript 

que también se definen en este documento, están destinados para uso común y deben utilizarse en su lugar.

Sin embargo, IE (hasta e incluyendo la versión 8) no se ejecuta la escritura dentro de un elemento con un atributo <script>type de cualquiera application/javascript o application/ecmascript, por lo tanto estos son inservibles para el futuro previsible y que está atrapado con text/javascript.

7

Todos ellos están técnicamente obsoletos, pero el segundo molesta menos a las personas. :)

Tanto el lenguaje (consulte W3C XHTML 1.1) como el texto/javascript están en desuso (consulte MIME registry for text). El tipo de mime recommended es application/javascript, pero esto no es compatible con versiones anteriores.

3
<script language="javascript" type="text/javascript"></script> 

HTML 4.01/XHTML 1,0 Transición con el atributo de lenguaje no admitidos

<script type="text/javascript"></script> 

HTML 4.01/XHTML 1.0 estricto (o Transición sin atributo de idioma en desuso)

<script language="javascript"></script> 

HTML 3.2

Cuestiones relacionadas