javascript - sirve - Recurso interpretado como Script pero transferido con texto tipo MIME/plain-para archivo local
script type= text/javascript para que sirve (3)
Recibo una advertencia de "Recurso interpretado como script pero transferido con texto tipo MIME / simple" en Google Chrome cuando incluyo un archivo de script local.
Sé que el problema aparece al cargar un archivo de un servidor o a través de ajax, que a menudo depende de que se configuren encabezados incorrectos.
Lo extraño es que recibo esta advertencia aunque se ejecute desde una carpeta local: file:///C:/test/foo.html
Esto solo ocurre en Chrome con el html más básico que existe:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="bar.js"></script>
</head>
<body>
</body>
</html>
bar.js es también tan simple como puede ser:
function hello() {}
He intentado agregar una metaetiqueta:
<meta http-equiv="content-script-type" content="text/javascript">
y probado con otros tipos de doctype pero nada parece ayudar.
Esto obviamente no es un problema real ya que los scripts aún funcionan bien, pero estoy trabajando en un proyecto grande y actualmente tengo alrededor de 150 scripts incluidos. Por lo tanto, hace que sea difícil ver cuándo ocurre una advertencia real entre ellos.
Todo funciona bien cuando ejecuto el archivo en un servidor, local o remoto.
¿Alguna idea sobre por qué Chrome me está molestando con esto?
¡La respuesta aceptada es genial! Sin embargo, solo para publicar una respuesta para aquellos que encuentran problemas como yo, que a veces usan una computadora del departamento / universidad, donde no tengo el permiso para cambiar cualquier valor clave en regedit.
Cambio
<script type="text/javascript" src="main.js"></script>
a
<script src="main.js"></script>
Aunque el mensaje de error aún existe, la página se cargó correctamente.
¡Me lo imaginé!
El instalador de Visual Studio debe haber agregado una línea errónea al registro.
abra regedit
y eche un vistazo a esta clave de registro:
¿Ves esa clave? ¿La clave de tipo de contenido? cambie su valor de text / plain a text / javascript.
Finalmente, Chrome puede respirar fácilmente de nuevo.
Debo señalar que ni Content Type ni PercievedType están ahí por defecto en Windows 7, por lo que probablemente pueda eliminarlos con seguridad, pero lo mínimo que debe hacer es editar.
De todos modos, espero que esto también lo solucione.
Traté de solucionar este problema usando este método, pero no funcionó para mí.
Mi problema era que el administrador de IIS no tenía tipos MIME en las características HTTP.
Pude activarlo activando el contexto estático a través de ...
-> Panel de control
-> Programas
-> Activar o desactivar las características de Windows
-> Servicios de información de Internet
-> Servicios de World Wide Web
-> Funciones HTTP comunes
-> [X] Contenido estático.
Después de esto, aparecieron tipos MIME y todo comenzó a funcionar nuevamente.