Recurso interpretado como Script pero transferido con tipo MIME text / plain - para archivo local


Estoy recibiendo una advertencia de "Recurso interpretado como Script pero transferido con texto tipo MIME/plano" en Google Chrome cuando se incluye un archivo de script local.

Sé que el problema aparece cuando se carga un archivo desde un servidor a través de ajax, que a menudo depende de mal encabezados conjunto.

Lo extraño es que recibo esta advertencia a pesar de que se ejecuta desde una carpeta local: file:///C:/test/foo.html

Esto sucede solo en Chrome con el html más básico allí is:

<!DOCTYPE html>
    <html>
    <head>
        <script type="text/javascript" src="bar.js"></script>
    </head>
    <body>
    </body>
</html>

Bar.js también es tan simple como puede ser:

function hello() {}

He intentado agregar una meta etiqueta:

<meta http-equiv="content-script-type" content="text/javascript">

Y probado con otros doctypes pero nada parece ayudar.

Esto obviamente no es un problema real ya que los scripts todavía 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 se produce una advertencia real entre ellos.

Todo funciona bien cuando corro el archivo en un servidor, local o remoto.

Alguna idea de por qué Chrome me molesta con esto?

Author: batzkoo, 2012-08-17

3 answers

¡Lo descubrí!

El instalador de Visual Studio debe haber añadido una línea errante al registro.

Abre regedit y echa un vistazo a esta clave del registro:

introduzca la descripción de la imagen aquí

¿Ves esa llave? La clave de Tipo de Contenido? cambie su valor de text/plain a text/javascript.

Finalmente chrome puede respirar tranquilo de nuevo.

Debo tener en cuenta que ni Content Type ni PercievedType están por defecto en Windows 7, por lo que probablemente podría eliminarlos de forma segura ambos, pero lo mínimo que necesitas hacer es editar.

De todos modos espero que esto lo arregle para usted también!

 194
Author: Simon Sarris,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-09-30 00:34:22

Intenté 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 habilitando el Contexto estático via...

Panel > Panel de control

Programs > Programas

Turn > Activar o desactivar las características de Windows

Services > Internet Information Services

Services > Servicios de la World Wide Web

Features > Características HTTP comunes

--> [X] Estática Contenido.

Después de esto, aparecieron tipos MIME y todo comenzó a funcionar de nuevo.

 30
Author: user2383049,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-02 19:17:36

¡La respuesta aceptada es una gran respuesta! Sin embargo, solo para publicar una respuesta para aquellos que se encuentran con problemas como yo, que usan un departamento/computadora de la universidad a veces, donde no tengo el permiso para cambiar ningún valor clave en regedit.

Cambiar

<script type="text/javascript" src="main.js"></script>

A

<script src="main.js"></script>

Aunque el mensaje de error todavía existe, la página se cargó correctamente.

 0
Author: Richard Wong,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-02-26 11:11:16