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

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

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

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


当前回答

我收到这条调试消息的原因比这里的其他答案更愚蠢:这是当你没有得到足够的睡眠并使用css文件的语法引用js文件时收到的错误消息。如,

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

而不是

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

我想我应该把这个放在这里,因为这是搜索错误消息时出现的第一篇文章。

其他回答

对我来说,它只发生在一些页面上,因为我使用了window。Location代替$ Location .url(…);这解决了我的问题。花了一段时间才弄明白:)

simon-sarris在这里发布的答案帮助了我。

This helped me solve my issue. The Visual Studio installer must have added an errant line to the registry. open up regedit and take a look at this registry key: See that key? The Content Type key? change its value from text/plain to text/javascript. Finally chrome can breathe easy again. I should note that neither Content Type nor PercievedType are there by default on Windows 7, so you could probably safely delete them both, but the minimum you need to do is that edit. Anyway I hope this fixes it for you too!

更改后不要忘记重新启动系统。

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

奇怪的问题,但这帮我解决了我的问题。有时候,即使是最简单的事情也很难弄清楚……

而不是使用 /js/main.css在我的脚本标签我使用js/main.css

是的,它确实起到了作用。我坐在WAMP / Windows上,我没有vhost,但只是使用localhost/<项目>

如果我引用/js/main.css,那么我引用localhost/css/main.css,而不是localhost/<项目>/css/main.css

当你想到它的时候,这是很明显的,但如果有人偶然发现了这个问题,我想我会分享这个答案。

我有同样的错误,最后(在我的特殊情况下),我发现部署描述符(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>