O que é melhor: ou

que é melhor ou mais conveniente de usar:

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

ou

<script>...</script>
Author: Mirzhan Irkegulov, 2010-11-22

6 answers

Precisas mesmo de um atributo type? Se estás a usar HTML5, não. Caso contrário, sim. O HTML 4.01 e o XHTML 1.0 especificam o atributo type como necessário, enquanto o HTML5 o tem como opcional, faltando para text/javascript. O HTML5 é agora amplamente implementado, por isso se você usar o Doctype HTML5, <script>...</script> é válido e uma boa escolha.

Quanto ao que deve ir no atributo type, o tipo MIME application/javascript registado em 2006 destina-se a substituir text/javascript e é suportado pelas versões actuais de todas as versões principais navegadores (incluindo o Internet Explorer 9). Uma citação de a RFC relevante:

Este documento define assim texto / javascript e texto / ecmascript, mas marca - os como"obsoletos". O uso de meios experimentais e não registrados, como listado em parte acima, é desencorajado. Os tipos de mídia,

  * application/javascript
  * application/ecmascript

Que também são definidos neste documento, destinam-se a uso comum e devem ser utilizados em alternativa.

No entanto, isto é, até à versão 8 inclusive não executa o programa dentro de um elemento <script> com um atributo type de application/javascript ou application/ecmascript, por isso, se precisar de suportar o antigo IE, fica preso a text/javascript.

 107
Author: Tim Down, 2016-10-28 11:24:11

Ambos funcionarão, mas o padrão xhtml requer que você especifique o type também:

<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 --
  >

Tipo = conteúdo-Tipo [IC] Este atributo indica a linguagem de programação do elemento conteúdo e sobrepõe - se à predefinição linguagem. A programação a linguagem é especificada como um conteúdo type (e.g., "text/javascript"). Os autores devem fornecer um valor para isto atributo. Não existe um valor por omissão para este atributo.

Notifica a ênfase acima.

Http://www.w3.org/TR/html4/interact/scripts.html

Nota: a partir do HTML5 (far away), o atributo type não é necessário e é por omissão.

 9
Author: Sarfraz, 2010-11-22 09:37:27

Tem de utilizar {[[0]} a menos que esteja a utilizar html5. Nesse caso, você é encorajado a preferir <script> ... </script> (porque o atributo type é especificado por padrão para esse valor)

 7
Author: , 2010-11-22 08:33:14

Isto é tudo o que é necessário:

<!doctype html>
<script src="/path.js"></script>
 5
Author: chovy, 2013-09-27 05:36:43

<script type="text/javascript"></script> porque é o caminho certo e compatível com todos os navegadores

 2
Author: pooja, 2013-09-27 11:45:22

Com o último Firefox, tenho de usar:

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

Ou então o script pode não funcionar corretamente.

 0
Author: Stephen Elliott, 2017-10-15 09:49:40