2012-08-17 9 views
98

Recibo una advertencia de "Recurso interpretado como Script pero transferido con tipo MIME text/plain" en Google Chrome cuando incluyo un archivo de script local.Recurso interpretado como Script pero transferido con texto tipo MIME/plain - para el archivo local

Sé que el problema aparece cuando se carga un archivo de un servidor oa través de ajax, que a menudo depende de que se establezcan encabezados incorrectos.

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

Esto sucede sólo en Chrome con el html más básica que existe:

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

bar. js también es tan simple como se puede conseguir:

function hello() {} 

he intentado añadir una etiqueta meta:

<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 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, de forma local o remota.

¿Alguna idea sobre por qué Chrome me molesta con esto?

+0

no instaló el último Visual Studio el otro día, ¿verdad? Esto comenzó a sucederme y eso es lo único que cambió ... –

+0

sí, VS Express 2012 RC hace unas semanas. Pensé en eso también, así que creé los archivos con notepad ++ en su lugar, pero el problema sigue siendo el mismo. Si VS está causando esto, entonces ¿deben haber cambiado alguna configuración/parámetro global? La pregunta es qué y cómo la cambio de nuevo. – batzkoo

+0

Todavía estoy tratando de descubrir lo mismo. Parece ser algo global y sucedió precisamente después de instalar VS2012. Te dejaré saber si descubro algo. Para ser claro, realmente no uso Visual Studio para la edición de archivos, lo que lo hace extraño. –

Respuesta

194

¡Lo descubrí!

El instalador de Visual Studio debe haber agregado una línea errónea al registro.

abren regedit y echar un vistazo a esta clave del Registro:

enter image description here

Ver esa llave? ¿La clave de tipo de contenido? cambie su valor de text/plain a text/javascript.

Finalmente, Chrome puede respirar con facilidad otra vez.

Debo notar que ni el Tipo de contenido ni PercievedType están ahí por defecto en Windows 7, por lo que probablemente pueda eliminarlos con seguridad, pero el mínimo que necesita hacer es editar.

De todos modos, espero que esto también lo solucione.

+8

¡Bien hecho! para encontrar la solución a esta molestia. No eliminé la clave sino que cambié el valor de los datos a texto/javascript. ¡Gracias! – batzkoo

+0

jaja Lo cambié a texto/script y no funcionó, tal vez debería haber intentado texto/javascript! –

+12

Te doy un MILLÓN de votos por votos (virtuales) para este. Más uno real. –

30

Intenté solucionar este problema utilizando este método, pero no funcionó.

Mi problema era que el administrador 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 las características de Windows o desactivar

-> Servicios de Internet Information

-> World Wide Web Servicios

-> Funciones HTTP comunes

-> [X] Contenido estático.

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

+0

Esto funcionó para mí ... Marcaría esta respuesta como la solución ... –

+0

Excelente, esto funcionó para mí y fue fácil de seguir. – Zammalad

0

¡La respuesta aceptada es excelente! 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 todavía existe el mensaje de error, la página ha cargado correctamente.

+2

Pero el problema de OP es que la página se carga correctamente, pero aún recibe un mensaje de error. Esto no parece cambiar nada. – Teepeemm

Cuestiones relacionadas