在FF和所有,我的javascript工作良好。但在Chrome中,它会给出这样的信息:
资源解释为脚本,但传输与MIME类型文本/纯。
我已经检查了所有的脚本标签,他们都有MIME类型=“文本/javascript”。它甚至说jquery和jquery ui。Chrome出了什么问题?
问题是什么,解决方法是什么?它是我必须改变浏览器的“选项”,还是来自服务器,或者我必须调整我的代码?
在FF和所有,我的javascript工作良好。但在Chrome中,它会给出这样的信息:
资源解释为脚本,但传输与MIME类型文本/纯。
我已经检查了所有的脚本标签,他们都有MIME类型=“文本/javascript”。它甚至说jquery和jquery ui。Chrome出了什么问题?
问题是什么,解决方法是什么?它是我必须改变浏览器的“选项”,还是来自服务器,或者我必须调整我的代码?
当前回答
奇怪的问题,但这帮我解决了我的问题。有时候,即使是最简单的事情也很难弄清楚……
而不是使用 /js/main.css在我的脚本标签我使用js/main.css
是的,它确实起到了作用。我坐在WAMP / Windows上,我没有vhost,但只是使用localhost/<项目>
如果我引用/js/main.css,那么我引用localhost/css/main.css,而不是localhost/<项目>/css/main.css
当你想到它的时候,这是很明显的,但如果有人偶然发现了这个问题,我想我会分享这个答案。
其他回答
发生这种情况的常见情况是,您只是忘记在脚本调用中包含该类型。你必须显式地设置它,因为它是-根据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>
当我试图通过javascript (jQuery在这种情况下)改变数组中的背景图像时,我也遇到了同样的问题。
无论如何。
而不是这样:
m.setStyle('background-image','url(/templates/site/images/style5/'+backgs[i]+')')
这样做:
eval("m.setStyle('background-image','url(/templates/site/images/style5/'+backgs[i]+')')");
Chrome javascript在试图解析一个以'为结构的元素中的变量时会搞砸。在我的例子中,它在插入图像数组之前停止。它不是解析图像url +图像名称(在数组内),而是只解析图像url。
您可能需要在代码中搜索,看看它发生在哪里。FF, IE和其他所有的都没有这个问题。
在apache的httpd.conf中,只需添加这样一行:
AddType application/x-javascript .js
我有同样的错误,最后(在我的特殊情况下),我发现部署描述符(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>
对于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