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

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

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

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


当前回答

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!

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

其他回答

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

发生这种情况的常见情况是,您只是忘记在脚本调用中包含该类型。你必须显式地设置它,因为它是-根据W3 -要求:

type (content-type):该属性指定元素内容的脚本语言,并覆盖默认的脚本语言。脚本语言被指定为内容类型(例如,“text/javascript”)。作者必须为该属性提供一个值。此属性没有默认值。

浏览器仍然有一个默认值plain/text。

例子:

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

你也可以在Apache配置中设置该文件扩展名的默认值:

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

我遇到了这个问题,我找到了解决它的方法。

当样式(CSS)文件的编码与引用.css文件的PHP文件的编码不同时,就会发生这种情况

例如,使用Unix编码的jQuery.js和使用UTF-8编码的index.php会导致这个问题,所以你必须让它们都是UTF-8或任何其他编码,只要它们是相同的。

如果你正在使用Spring MVC, 你可以添加下面的mvn标签来排除Spring Dispatch Servlet中的资源文件

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

检查你的js文件是否在服务器上存在。我有这个问题,发现js文件没有上传到服务器,服务器实际上是返回html页面,而不是-这是服务器上配置的默认文档(如default.html)