在FF和所有,我的javascript工作良好。但在Chrome中,它会给出这样的信息:
资源解释为脚本,但传输与MIME类型文本/纯。
我已经检查了所有的脚本标签,他们都有MIME类型=“文本/javascript”。它甚至说jquery和jquery ui。Chrome出了什么问题?
问题是什么,解决方法是什么?它是我必须改变浏览器的“选项”,还是来自服务器,或者我必须调整我的代码?
在FF和所有,我的javascript工作良好。但在Chrome中,它会给出这样的信息:
资源解释为脚本,但传输与MIME类型文本/纯。
我已经检查了所有的脚本标签,他们都有MIME类型=“文本/javascript”。它甚至说jquery和jquery ui。Chrome出了什么问题?
问题是什么,解决方法是什么?它是我必须改变浏览器的“选项”,还是来自服务器,或者我必须调整我的代码?
当前回答
如果你用一个php文件生成javascript,添加这个作为你的文件的开头:
<?php Header("Content-Type: application/x-javascript; charset=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/"/>
对于Java应用服务器,如Weblogic
1)确保你的weblogic.xml文件没有错误
比如这个:
<?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)在web.xml文件中添加javascript的mime类型:
...
</servlet-mapping>
<mime-mapping>
<extension>js</extension>
<mime-type>application/javascript</mime-type>
</mime-mapping>
<welcome-file-list>
...
这也将适用于其他Java容器- Tomcat等应用程序/javascript是目前唯一有效的mime类型;其他如text/javascript已弃用。
3)您可能需要清除浏览器缓存或按CTRL-F5
我有同样的错误,最后(在我的特殊情况下),我发现部署描述符(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>
我收到这条调试消息的原因比这里的其他答案更愚蠢:这是当你没有得到足够的睡眠并使用css文件的语法引用js文件时收到的错误消息。如,
<link rel='stylesheet' type='text/css' href='clearly_javascript.js'/>
而不是
<script src='clearly_javascript.js'></script>
我想我应该把这个放在这里,因为这是搜索错误消息时出现的第一篇文章。
检查你的js文件是否在服务器上存在。我有这个问题,发现js文件没有上传到服务器,服务器实际上是返回html页面,而不是-这是服务器上配置的默认文档(如default.html)