Foros del Web » Programando para Internet » Javascript »

Sobre la etiqueta <script>

Estas en el tema de Sobre la etiqueta <script> en el foro de Javascript en Foros del Web. ¡Buenas! XHTML indica que las etiquetas «vacías» pueden escribirse de la siguiente manera <etiqueta /> o bien <etiqueta></etiqueta>. Para poner un ejemplo puedo mencionar la ...
  #1 (permalink)  
Antiguo 31/05/2010, 15:05
 
Fecha de Ingreso: enero-2010
Ubicación: Córdoba
Mensajes: 21
Antigüedad: 14 años, 3 meses
Puntos: 1
Información Sobre la etiqueta <script>

¡Buenas!

XHTML indica que las etiquetas «vacías» pueden escribirse de la siguiente manera <etiqueta /> o bien <etiqueta></etiqueta>. Para poner un ejemplo puedo mencionar la etiqueta <img> en las dos versiones válidas:

Código HTML:
Ver original
  1. <img src="image.jpg" width="640" height="480" />
  2. <img src="image.jpg" width="640" height="480"></img>

Entonces, se asume que con la etiqueta <script> pasaría lo mismo (es válido, lo comprobé en el validador del W3C):

Código HTML:
Ver original
  1. <script type="text/javascript" src="file.js" />
  2. <script type="text/javascript" src="file.js"></script>

Ahora bien, yo hice los test con toda mi batería de navegadores, pero... ¿alquien sabe si existe algún problema al usar la etiqueta <script> de esta forma?

Si no trae ningún inconveniente entonces nos ahorramos unos caracteres (pocos, pero todo «suma»), y nuestro código queda «más prolijo». Y sí, ya sé, no descubrí la pólvora, pero es bastante desconocido el hecho de poder usar la etiqueta <script> de esta forma.

Espero sus respuestas.
  #2 (permalink)  
Antiguo 31/05/2010, 23:33
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Sobre la etiqueta <script>

Hola:

Lo correcto es poner el cierre, ya que a pesar de estar vacía, es una etiqueta que podría tener contenido, como tantas otras (textarea, por ejemplo), y aquellas que no tienen contenido (otras cuantas como hr, br, input, img, meta...) nunca tienen contenido, así que de cerrarse, tiene que ser en la misma etiqueta de apertura.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 03/06/2010, 20:30
 
Fecha de Ingreso: enero-2010
Ubicación: Córdoba
Mensajes: 21
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Sobre la etiqueta <script>

Claro, eso lo sé, pero según leí en las especificaciones de XHTML 1.0, las etiquetas que no tienen contenido, pueden cerrarse de forma abreviada, o de la forma normal. Por ejemplo, el <textarea> también es válido cerrarlo abreviadamente.

Sé que es un tema sin mucha importancia para los que quieren que funcione «y ya está». Lo mío viene más por el lado investigar un poquito más.

Pueden comprobar ustedes que es válido; coloquen este código en el validador del W3C (http://validator.w3.org/):

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3.  <title>Documento sin título</title>
  4.  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. </head>
  6.  
  7.  <form action="form.php" method="post">
  8.    <textarea cols="1" rows="1" name="textarea" id="textarea" />
  9.   </fieldset>
  10.  </form>
  11.  
  12.  <script type="application/javascript" src="file.js" />
  13.  
  14.  <div>
  15.   <img src="image.jpf" width="640" height="480" alt=""></img>
  16.  </div>
  17.    
  18. </body>
  19. </html>

Ahora bien, mi duda es saber si esto es realmente correcto, porque según entendí en las especificaciones es así y el validador lo confirma. PERO, peeero... en mis pruebas no funcionó.

¡Saludos!

Última edición por lucianonicolas; 03/06/2010 a las 20:36

Etiquetas: etiquetas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:17.