在FF和所有,我的javascript工作良好。但在Chrome中,它会给出这样的信息:

资源解释为脚本,但传输与MIME类型文本/纯。

我已经检查了所有的脚本标签,他们都有MIME类型=“文本/javascript”。它甚至说jquery和jquery ui。Chrome出了什么问题?

问题是什么,解决方法是什么?它是我必须改变浏览器的“选项”,还是来自服务器,或者我必须调整我的代码?


当前回答

我有同样的错误,最后(在我的特殊情况下),我发现部署描述符(web.xml)有问题

存在的问题:

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

解决方案:

<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>

其他回答

在我的例子中,服务器发送了正确的内容类型,但内容编码不正确。确保只对gzip压缩的资源设置Content-Encoding: gzip。此外,在我修复了服务器中的头文件(在我的例子中,是谷歌云存储)后,我不得不等待几分钟以正确反映由于缓存造成的更改。

我在使用web框架时遇到了这个问题,并通过将相关的javascript文件移动到指定的(由框架)javascript文件夹中来修复它。

如果您正在使用Joomla!并且在尝试包含(.js) JavaScript文件时得到这个恼人的错误,那么下面的解决方案适合你。

最可能的问题是您试图包含一个不存在的.js文件,或者您只是放错了那个.js文件,而当Joomla!如果没有找到资源,那么它将返回一个完整的404消息,其中包含完整的网页和HTML等。

web浏览器将它解释为.js,而它只是一个网页,说所需的文件没有找到。

这可以为joomla2.5joomla3.0joomla3.1joomla3.2joomla3.3joomla工作

如果它的IIS确保在你的公共HTTP功能下,你已经打开了静态内容

这意味着服务器正在发送Javascript HTTP响应

Content-Type: text/plain

您需要配置服务器以发送JavaScript响应

Content-Type: application/javascript