2012-07-30 21 views
5

Duplicar posible:
HTML5 <script> declarations¿Es una buena práctica ignorar el tipo de script?

He escuchado a algunas personas decir que no es necesario especificar un type="text/javascript" en una etiqueta <script>, ya que este es el tipo predeterminado.

¿Hay alguna desventaja si abro las etiquetas de script como <script> en lugar de las más detalladas <script type="text/javascript">?

+3

@kojiro mi pregunta no es específico de HTML5. – Christophe

+0

No es realmente un dup. Esta es una pregunta más general. – Beska

+0

@Christophe Deduje que las pocas personas que escuchó diciendo que estaban hablando del hecho de que HTML5 había definido un tipo predeterminado. El tipo predeterminado es * no * especificado en HTML4. – kojiro

Respuesta

3

En HTML 4 se requiere el atributo type:

http://www.w3.org/TR/html401/interact/scripts.html#h-18.2.1

En HTML5 no es.

http://dev.w3.org/html5/markup/script.html

Si se van a usar HTML 4, a continuación, buenas prácticas sin duda incluye la adhesión a sus especificaciones. Si está utilizando HTML5, entonces está bastante claro que <script> sin un type es text/javascript, por lo que puede omitirlo con seguridad.

+0

Gracias por la referencia. Pero en la práctica, ¿tiene ejemplos en html4 donde omitir el tipo podría causar problemas? – Christophe

+0

@Christophe No, porque los navegadores están diseñados para tratar con HTML incorrecto. Eso no significa que sea una buena idea escribir con qué puedes salirte. Su pregunta específicamente es un poco una trampa, porque ya podemos suponer (debido a HTML5) que las implementaciones futuras de navegadores asumirán un tipo predeterminado, pero en general, escribir un código HTML no válido que funciona en este momento es incorrecto precisamente porque puede no funcionar en futuros navegadores – kojiro

+0

Estoy de acuerdo en que es una trampa, ¡precisamente por eso estoy buscando consejos de la comunidad! (antes de tratar de guardar un par de bytes) – Christophe

1

Sí! Absolutamente puedes omitir el tipo. Asegúrese de que su tipo de documento es HTML5 if you care for validity.

<!doctype html> 

Es funcionará igual de bien sin embargo con cualquier navegador que se pueda imaginar.

No se considera "buena práctica" para romper las especificaciones, si no se está usando HTML5 aunque :)

+0

¿funciona esto con los navegadores no html5 que aún existen en el mercado? –

+1

@Truth ¿Y qué hay de los documentos que no son html5? – Christophe

+0

@Christophe: ** funciona ** bien, aunque no será tan válido, si te importa tanto. –

1

Aunque el atributo de tipo de script no es necesario cuando se usa HTML5, se debe usar sin importar qué, todo el tiempo. Es una buena práctica usarlo siempre que incluya una secuencia de comandos en un documento HTML. No está de más agregarlo, pero puede doler no agregarlo. Los navegadores antiguos pueden no reconocer el script si el atributo de tipo no está especificado.

0

¿Está desarrollando un sitio web de escritorio para una intranet (Internetcafé tal vez), se puede escribir:

<script> 
    $(functions(){}); 
</script> 

Si utiliza HTML o XHTML para internet, Le sugiero que escriba sus etiquetas de script como este:

<script type="text/javascript"> 
// <![CDATA[ 
    // functions 
    $(functions(){}); 
// ]]> 

Y para completar esto para CSS en línea, ya que estamos en ello:

<style type="text/css"> 
/* <![CDATA[ */ 
    /* tags */ 
    html, body {} 
/* ]]> */ 
</style> 

T a su manera, cualquier tipo de personaje que pone allí debe ser un carácter válido

EDITAR http://en.wikipedia.org/wiki/CDATA#Uses_of_CDATA_sections

Cuestiones relacionadas