outside - Que es mejor:<script type="text/javascript">...</ script> o<script>...</ script>
scripts js (6)
Cuál es mejor o más conveniente de usar:
<script type="text/javascript">...</script>
o
<script>...</script>
¿Necesitas un atributo de tipo? Si está utilizando HTML5, no. De lo contrario, sí. HTML 4.01 y XHTML 1.0 especifican el atributo de type
según sea necesario, mientras que HTML5 lo tiene como opcional, por defecto a text/javascript
. HTML5 ahora está ampliamente implementado, por lo que si usa el tipo de documento HTML5, <script>...</script>
es válido y una buena opción.
En cuanto a qué debe ir en el atributo de tipo, la application/javascript
tipo MIME application/javascript
registrada en 2006 está destinada a reemplazar text/javascript
y es compatible con las versiones actuales de todos los principales navegadores (incluido Internet Explorer 9). Una cita del RFC relevante :
Este documento define texto / javascript y text / 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 deberían utilizarse en su lugar.
Sin embargo, IE hasta e incluyendo la versión 8 no ejecuta script dentro de un elemento <script>
con un atributo de tipo application/javascript
o application/ecmascript
, por lo que si necesita admitir IE antiguo, está atascado con text/javascript
Ambos funcionarán pero el estándar xhtml requiere que especifiques también el type
:
<script type="text/javascript">..</script>
<!ELEMENT SCRIPT - - %Script; -- script statements -->
<!ATTLIST SCRIPT
charset %Charset; #IMPLIED -- char encoding of linked resource --
type %ContentType; #REQUIRED -- content type of script language --
src %URI; #IMPLIED -- URI for an external script --
defer (defer) #IMPLIED -- UA may defer execution of script --
>
type = content-type [CI] Este atributo especifica el lenguaje de scripting del contenido del elemento y anula el lenguaje de scripting predeterminado. El lenguaje de scripting se especifica como un tipo de contenido (por ejemplo, "texto / javascript"). Los autores deben proporcionar un valor para este atributo. No hay un valor predeterminado para este atributo.
Nota el énfasis anterior.
http://www.w3.org/TR/html4/interact/scripts.html
Nota: A partir de HTML5 (muy lejos), el atributo de type
no es obligatorio y está predeterminado.
Con el último Firefox, debo usar:
<script type="text/javascript">...</script>
O bien, es posible que el script no se ejecute correctamente.
Esto es todo lo que se necesita:
<!doctype html>
<script src="/path.js"></script>
Necesita utilizar <script type="text/javascript"> </script>
menos que esté usando html5. En ese caso, le sugerimos que prefiera <script> ... </script>
(porque el atributo type se especifica de manera predeterminada para ese valor)
<script type="text/javascript"></script>
porque es la forma correcta y compatible con todos los navegadores