Qual é a diferença entre “lang” e atributos “tipo” em uma marca de script?

StackOverflow https://stackoverflow.com/questions/112482

  •  02-07-2019
  •  | 
  •  

Pergunta

Para tags HTML <script>, qual é a diferença técnica entre lang=Javascript e type=text/javascript?

Eu costumo usar ambos, porque eu assumiu sempre que navegadores mais antigos precisam de um ou outro.

Foi útil?

Solução

Por HTML 4.01 Spec :

tipo : Este atributo especifica a linguagem de script de conteúdo do elemento e substitui a linguagem de script padrão. A linguagem de script é especificado como um tipo de conteúdo (por exemplo, "text / javascript"). Os autores devem fornecer um valor para este atributo. Não há valor padrão para esse atributo.

idioma : Reprovado. Este atributo especifica a linguagem de scripting dos conteúdos deste elemento. Seu valor é um identificador para a linguagem, mas uma vez que estes identificadores não são padrão, este atributo foi preterido em favor do tipo.

Outras dicas

<script language=""> pode ser usado para servir VBScript e diferentes versões do Javascript.

A menos que você precisa de uma versão específica do Javascript, não use o atributo de linguagem, seu código continuará a funcionar como normal sem ele.

Mesmo se você precisar de uma versão específica Javascript para alguma parte do código, tentar testar se o recurso existe em vez disso, com um (typeof window.blah.feature! = "Indefinido") cheque.

Aqui está um exemplo de uso do atributo language: http://bclary.com/2004/08/27/javascript-version- incompatibilidades

O atributo linguagem é obsoleto por causa deste comportamento vagamente definido ou incerto.

O atributo tipo é completamente diferente. Ele informa ao navegador o que mime digite o script é, e deve sempre ser especificada em uma tag script.

língua é o atributo de idade, tipo é o novo. Você teria que usar um doctype de transição (não positivo sobre isso, mas quase certeza) para usar legalmente os dois atributos.

O OP disse especificamente "lang" não "linguagem". A tag muito mais velha "linguagem" teria sido Javascript ou VBScript.

Mas a tag atual e aparentemente válida "lang" é realmente o que escrita língua como o Inglês, Espanhol , japonês. do Microsoft Visual Studio fornece uma lista suspensa para os valores para "lang" e todos eles são como en-us, fr, ja, etc .. para Inglês EUA, francês, japonês, etc ...

Eu estou pensando que pode , razões válidas para a utilização deste tag, se você tem uma configuração multilingue complexo - talvez haja um sistema mgmt conteúdo que possa suportar isso e, em seguida, entregar o arquivo de javascript adequada - como recursos de controle jQuery?

Type é mais geral e refere-se à codificação MIME do bloco de script. Tanto quanto eu sei que você só precisa de um e, geralmente, o bloco irá funcionar sem qualquer tipo ou lag atributos.

I tendem a usar tipo.

lang é o idioma do script, e tipo é o tipo MIME do conteúdo da tag script.

Basicamente, nenhum atributo é necessário. A única razão para usá-los é a validação, e este tornou-se vazio no HTML5 .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top