2009-06-29 20 views
20

que estoy acostumbrado a la inclusión y el uso de JS así:JavaScript: ¿Secuencia de comandos en línea con atributo de SRC?

<script type='text/javascript' src='/path/to/script.js'></script> 
.... 
<script type='text/javascript'> 
    alert('Do some stuff here, using resources defined in script.js.'); 
</script> 

Sólo por curiosidad, ¿alguien sabe la regla para tener una secuencia de comandos en línea con un attrib src, como:

<script type='text/javascript' src='/path/to/script.js'> 
    alert('Do some stuff here, using resources defined in script.js.'); 
</script> 

Puedo probar lo que sucede en varios navegadores, pero me gustaría saber cuál es el comportamiento oficial.

Respuesta

25

Es uno o el otro, no ambos. El atributo src de la etiqueta <script> tiene prioridad sobre el cuerpo de la etiqueta.

HTML 4.01 Specification:

El script se puede definir dentro de los contenido del elemento de secuencia de comandos o en un archivo externo. Si no se establece el atributo src , los agentes de usuario deben interpretar el contenido del elemento como el script . Si el src tiene un valor de URI, los agentes de usuario deben ignorar los contenidos del elemento y recuperar el script a través del URI.

+1

¡Me picó 6 segundos! – harto

+3

No me di cuenta de que estaba compitiendo. :-) – artlung

+2

Aquí hay un enlace a la más reciente [especificación HTML5] (http://www.w3.org/TR/html5/scripting-1.html#inline-documentation-for-external-scripts) (vea el texto de arriba) el ejemplo del código) – royhowie

4

La especificación HTML estados

Si el src tiene un valor URI, usuario agentes deben ignorar el contenido del elemento y recuperar la secuencia de comandos a través de la URI.

3

Desde el HTML 4 standard:

Si el atributo src no está establecido, el usuario agentes deben interpretar el contenido de el elemento como el guión. Si el src tiene un valor de URI, los agentes de usuario deben ignorar el contenido del elemento y recuperar el script a través del URI.

Cuestiones relacionadas