with type only google for files downloaded docs developers content google-chrome mime-types

google-chrome - type - only files with binary content can be downloaded use export with google docs files



Chrome dice "Recurso interpretado como script pero transferido con texto/plano de tipo MIME", ¿qué da? (19)

Compruebe que sus archivos js realmente existen en el servidor. Tuve este problema y descubrí que los archivos js no se habían cargado en el servidor y el servidor en realidad estaba devolviendo la página html, que era el documento predeterminado configurado en el servidor (por ejemplo, default.html)

En FF y todo, mi javascript funciona bien. Pero en Chrome da este mensaje:

Recurso interpretado como script pero transferido con texto / plano de tipo MIME.

He comprobado todas las etiquetas de script y todas tienen el MIME type="text/javascript" . Incluso lo dice con jquery y jquery ui. ¿Qué está mal con Chrome?

¿Cuál es el problema y la solución para esto? ¿Es algo que tengo que cambiar en las ''opciones'' del navegador o es desde el servidor, o tengo que modificar mi código?


En httpd.conf de su apache, solo agregue una línea de este tipo:

AddType application/x-javascript .js


En mi caso, el servidor estaba enviando el tipo de Content-Type correcto pero con una Content-Encoding incorrecta. Asegúrese de que solo establezca Content-Encoding: gzip para los recursos gzipped. Además, después de corregir los encabezados en el servidor (en mi caso, Google Cloud Storage), tuve que esperar unos minutos para reflejar correctamente los cambios debidos al almacenamiento en caché.


Esto no tiene nada que ver con jQuery ni con ninguna peculiaridad del código de script del lado del cliente. Es un problema del lado del servidor : el servidor (aplicación del lado) no está enviando el valor esperado del campo de encabezado de Content-Type HTTP para el recurso de script del lado del cliente. Esto sucede si el servidor web no está suficientemente configurado, mal configurado o si una aplicación del lado del servidor (por ejemplo, PHP) genera el recurso de script del lado del cliente.

Los tipos de medios MIME adecuados para implementaciones de ECMAScript como JavaScript incluyen:

  • text/javascript (registrado como obsoleto , no en desuso; pero aún válido y mejor soportado )
  • text/ecmascript (registrado como obsoleto , no en desuso; pero aún válido )
  • application/javascript
  • application/ecmascript

No incluyen application/x-javascript , ya que los tipos de medios MIME enumerados anteriormente son los que ya están registrados en el árbol de estándares (por lo tanto, no es necesario y no debería haber necesidad de usar los experimentales). Cf. RFC 4329, "Scripting Media Types" (2005 CE) y mi caso de prueba: Soporte para Scripting Media Types .

Una solución es configurar el servidor si es posible, como ya se recomendó. Para Apache, esto puede ser tan simple como agregar la directiva

AddType text/javascript .js

(Consulte la documentación del servidor HTTP Apache para más detalles).

Pero si el recurso de script del lado del cliente es generado por una aplicación del lado del servidor, como PHP, entonces es necesario establecer el valor del campo del encabezado Content-Type explícitamente, ya que el valor predeterminado es text/html :

<?php header(''Content-Type: text/javascript; charset=UTF-8''); // ... ?>

(Esa y otras declaraciones similares deben aparecer antes que cualquier otra salida (consulte el manual de PHP ); de lo contrario, se considera que el cuerpo del mensaje HTTP ya ha comenzado y es demasiado tarde para enviar más campos de encabezado).

La generación del lado del servidor puede pasar fácilmente a un recurso de script del lado del cliente incluso si tiene archivos .js en el servidor, si los comentarios se eliminan de ellos a medida que se sirven, si todos se empaquetan en una gran respuesta (para reducir el Número de solicitudes, que pueden ser más eficientes, o las minimiza la aplicación del lado del servidor de cualquier otra forma.


La respuesta publicada here por simon-sarris me ayudó.

Esto me ayudó a resolver mi problema.

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

abre regedit y mira esta clave de registro:

¿Ves esa llave? ¿La clave de tipo de contenido? cambie su valor de texto / plano a texto / javascript.

Finalmente el cromo puede volver a respirar tranquilo de nuevo.

Debo tener en cuenta que ni el Tipo de contenido ni el Tipo de percusión están allí de forma predeterminada en Windows 7, por lo que probablemente podría eliminarlos de forma segura, pero lo mínimo que debe hacer es editar.

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

No olvides reiniciar tu sistema después de los cambios.


Para mí, solo sucedió en algunas páginas porque usé window.location lugar de $location.url(...); Esto solucionó mi problema. Tomó un tiempo para averiguar :)


Recibí este mensaje de depuración por una razón más tonta que las otras respuestas aquí: Este es el mensaje de error que se recibe cuando no duerme lo suficiente y hace referencia a un archivo js utilizando la sintaxis de un archivo css. Como en,

<link rel=''stylesheet'' type=''text/css'' href=''clearly_javascript.js''/>

más bien que

<script src=''clearly_javascript.js''></script>

Pensé que pondría esto aquí porque esta es la primera publicación que aparece al buscar el mensaje de error.


Si es IIS, asegúrese de que bajo sus common HTTP Features tenga activado el Static Content


Si está generando su javascript con un archivo php, agregue esto como el principio de su archivo:

<?php Header("Content-Type: application/x-javascript; charset=UTF-8"); ?>


Si está utilizando Spring MVC, puede agregar la siguiente etiqueta mvn para excluir el archivo de recursos de Spring Dispatch Servlet

<mvc:resources mapping="/js/*.js" location="/js/"/> <mvc:resources mapping="/css/*.css" location="/css/"/> <mvc:resources mapping="/images/*.*" location="/images/"/>


Si estas trabajando en Joomla! y obteniendo este error molesto al intentar incluir un archivo JavaScript ( .js ), la siguiente solución es para usted.

El problema más probable es que estás tratando de incluir un archivo .js que no está allí , o simplemente .js archivo .js , y cuando Joomla! no encuentra un recurso, entonces en lugar del mensaje 404 genérico, devuelve un mensaje 404 completo con una página web completa y html, etc.

El navegador web lo interpreta como .js mientras que es solo una página web que dice que no se encontró el archivo requerido.

Esto puede funcionar para joomla2.5 joomla3.0 joomla3.1 joomla3.2 joomla3.3 joomla


Significa que el servidor está enviando una respuesta HTTP de Javascript con

Content-Type: text/plain

Debe configurar el servidor para enviar una respuesta de JavaScript con

Content-Type: application/javascript


Tenía el mismo problema al intentar cambiar una imagen de fondo en una matriz mediante javascript (jQuery en este caso).

De todas formas.

En lugar de esto:

m.setStyle(''background-image'',''url(/templates/site/images/style5/''+backgs[i]+'')'')

hacer esto:

eval("m.setStyle(''background-image'',''url(/templates/site/images/style5/''+backgs[i]+'')'')");

Chrome javascript se atornilla al intentar analizar una variable dentro de un elemento estructurado con ''. En mi caso, se detuvo justo antes de insertar la matriz de imágenes. En lugar de analizar la url de la imagen + el nombre de la imagen (dentro de la matriz), se analiza solo la url de la imagen.

Probablemente necesites buscar dentro del código y ver dónde sucede. FF, IE y todos los demás no tienen este problema.


Tuve el mismo error y finalmente (en mi caso particular) encontré un problema en el descriptor de implementación (web.xml)

El problema:

<servlet-mapping> <servlet-name>SessionController</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> ... <welcome-file-list> <welcome-file>/</welcome-file> </welcome-file-list>

la solución:

<servlet-mapping> <servlet-name>SessionController</servlet-name> <url-pattern>/SessionController</url-pattern> </servlet-mapping> ... <welcome-file-list> <welcome-file>desktop.jsp</welcome-file> </welcome-file-list>


Tuve este problema mientras utilizaba un marco web y lo arreglé moviendo los archivos javascript relevantes a la carpeta javascript designada (por el marco).


Tuve este problema y me di cuenta de cómo solucionarlo.

Ocurre cuando el archivo de estilo (CSS) está en una codificación diferente del archivo PHP que hace referencia al archivo .css

Por ejemplo, el uso de jQuery.js en la codificación Unix y el uso de index.php en UTF-8 causarán este problema, por lo que tendrá que convertirlos tanto en UTF-8 como en cualquier otra codificación siempre que sea la misma.


Una cosa común cuando esto sucede es si simplemente ha olvidado incluir el type en sus llamadas de script. Tendrá que configurarlo explícitamente, ya que es necesario, según W3 :

type ( type contenido): este atributo especifica el lenguaje de secuencias de comandos del contenido del elemento y anula el lenguaje de secuencias de comandos predeterminado. El lenguaje de scripting se especifica como un tipo de contenido (por ejemplo, "text/javascript" ). Los autores deben proporcionar un valor para este atributo. No hay un valor predeterminado para este atributo.

Todavía parece que los navegadores tienen un valor predeterminado de plain/text .

Ejemplo:

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false&language=en"></script>

También puede establecer un valor predeterminado para esa extensión de archivo en su configuración de Apache:

<IfModule mod_mime.c> AddType text/javascript .js </IfModule>


Para servidores de aplicaciones Java como Weblogic

1) Asegúrese de que su archivo weblogic.xml esté libre de errores

como éste:

<?xml version = ''1.0'' encoding = ''windows-1252''?> <weblogic-web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app http://www.bea.com/ns/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd" xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app"> <container-descriptor> <prefer-web-inf-classes>true</prefer-web-inf-classes> </container-descriptor> <context-root>MyWebApp</context-root> </weblogic-web-app>

2) Agregue un tipo mime para javascript a su archivo web.xml :

... </servlet-mapping> <mime-mapping> <extension>js</extension> <mime-type>application/javascript</mime-type> </mime-mapping> <welcome-file-list> ...

Esto también funcionará para otros contenedores Java - Tomcat, etc. application/javascript es actualmente el único tipo mime válido; otros como text/javascript han sido desaprobados.

3) Es posible que deba borrar la memoria caché de su navegador o pulsar CTRL-F5


Werid problema ... pero esto me ayudó a resolver mi problema. A veces, incluso las cosas más fáciles son difíciles de entender ...

En lugar de usar

/js/main.css en mi etiqueta de script

js/main.css

, realmente hizo una diferencia. Estoy sentado en WAMP / Windows y no tenía vhost, pero solo usé localhost/<project>

Si hago referencia a /js/main.css entonces hago referencia a localhost/css/main.css y no a localhost/<project>/css/main.css

Cuando lo piensas, es bastante obvio, pero si alguien se topa con esto, pensé que compartiría esta respuesta.