Estou recebendo um aviso "Recurso interpretado como script, mas transferido com texto / simples do tipo MIME" no Google Chrome ao incluir um arquivo de script local.
Eu sei que o problema aparece ao carregar um arquivo de um servidor ou através de ajax, que na maioria das vezes depende de cabeçalhos errados sendo configurados.
O estranho é que recebo este aviso, embora seja executado a partir de uma pasta local: file:///C:/test/foo.html
Isso acontece apenas no Chrome com o html mais básico que existe:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="bar.js"></script>
</head>
<body>
</body>
</html>
bar.js também é o mais simples possível:
function hello() {}
Tentei adicionar uma metatag:
<meta http-equiv="content-script-type" content="text/javascript">
e testado com outros doctypes, mas nada parece ajudar.
Isso obviamente não é um problema real, já que os scripts ainda funcionam bem, mas estou trabalhando em um grande projeto e atualmente tenho cerca de 150 scripts incluídos. Portanto, é difícil ver quando um aviso real ocorre entre eles.
Tudo funciona bem quando executo o arquivo em um servidor, local ou remoto.
Alguma idéia de por que o cromo está me incomodando com isso?
fonte
Respostas:
Eu descobri!
O instalador do Visual Studio deve ter adicionado uma linha incorreta ao registro.
abra
regedit
e dê uma olhada nesta chave de registro:Veja essa chave? A chave do tipo de conteúdo? mude seu valor de text / plain para text / javascript.
Finalmente, o cromo pode respirar facilmente.
Devo observar que nem o Content Type nem o PercievedType estão lá por padrão no Windows 7, então você provavelmente poderia excluir ambos com segurança, mas o mínimo que você precisa fazer é essa edição.
De qualquer forma, espero que isso corrija para você também!
fonte
.js
arquivos tinham.txt
ícones semelhantes, então fui verificar se eles estavam associados ao tipo de dados correto. Eles não eram!Tentei consertar esse problema usando esse método, mas não funcionou para mim.
Meu problema era que o gerenciador do IIS não tinha tipos MIME nos recursos HTTP.
Consegui ativá-lo habilitando o Contexto estático via ...
-> Painel de Controle
-> Programas
-> Ativar ou desativar recursos do Windows
-> Serviços de Informações da Internet
-> Serviços da World Wide Web
-> Recursos HTTP comuns
-> [X] Conteúdo estático.
Depois disso, os tipos MIME apareceram e tudo começou a funcionar novamente.
fonte
A resposta aceita é ótima! No entanto, apenas para postar uma resposta para aqueles que encontram problemas como eu, que às vezes usa um computador do departamento / faculdade, onde não tenho permissão para alterar nenhum valor de chave no regedit.
mudança
<script type="text/javascript" src="main.js"></script>
para
<script src="main.js"></script>
Embora a mensagem de erro ainda exista, a página foi carregada corretamente.
fonte