调试消息“资源解释为其他但使用MIME类型application / javascript传输”

时间:2009-03-18 13:26:09

标签: javascript apache safari mime-types

好的,我明白了消息意味着什么,但我真的不确定是什么导致它。顺便说一句,我在Mac OS X上使用Safari和Web Inspector。

我的文件头中有以下内容:

<script src="http://local.url/a/js/jquery.js" type="text/javascript"></script>
<script src="http://local.url/a/js/jquery.inplace.js" type="text/javascript"></script>

jquery.js处理得很好,但另一个文件会导致警告。似乎这个文件中的javascript永远不会被执行。

该文件是通过mod_deflate提供的,因此它是gzip编码的,但另一个文件也是如此。

有没有人知道造成这种情况的原因,或者如何解决?

干杯全部, 暖气。

15 个答案:

答案 0 :(得分:35)

具有空“src”属性的图片会在Windows-Chrome下生成此错误:

<img src="">

......而......

<img>

......没有。

我到达这里是因为我的ajax结果集返回了“src”数据,该数据是空的,但img仍然被插入到页面中。

答案 1 :(得分:13)

解决!

我有几天这个错误。它让我发疯,因为它不允许我使用firefox firebug的脚本调试器。最后,当我在“background-image:url()”样式属性中删除空URL时,我的错误已解决。

这真是太痛苦了,我真的希望有人可以使用这个建议。

答案 2 :(得分:10)

我不认为这是一个bug, 尝试将MIME类型添加到.htaccess文件中 例如,将以下内容放入或添加到.htaccess文件中(该文件应位于.js或更高文件夹的相同位置)

#JavaScript
AddType application/x-javascript .js

这解决了我的树“资源被解释为其他但被转移......”的警告。 每当你有这种警告时,这意味着你的.htaccess文件中没有足够的信息。

BTW1:由于您正在修改.htaccess文件,请确保重新启动服务器。

BTW2:我也可以用Safari清除Safari 4中GIF文件的相同警告:

#GIF
AddType image/gif .gif

BTW3:对于其他文件类型:请参阅w3schools listhtaccess-guide

答案 3 :(得分:9)

似乎是safari / webkit中的一个错误。也许this oneany of these。尝试升级你的野生动物园。如果没有更新的稳定版本,请尝试4 beta。

答案 4 :(得分:6)

出现此警告,因为未指定默认脚本类型。尝试将以下指令添加到HTML文件中:

<meta http-equiv="content-script-type" content="text/javascript">

您可以在此处阅读有关默认脚本规范的更多信息: http://www.w3.org/TR/REC-html40/interact/scripts.html#h-18.2.2.1

答案 5 :(得分:4)

您需要使用工具来查看随文件发送的HTTP标头,例如LiveHTTPHeadersHTTPFox。如果文件是从没有MIME类型的Web服务器发送的,或者是使用默认MIME类型(如text / plain)发送的,则可能是此错误的原因。

答案 6 :(得分:4)

这是因为文件名中的句号。这是愚蠢的,但是只要js文件名中有一段时间就会出现这个错误,而且我遇到了实际上会阻止加载js文件的情况。

答案 7 :(得分:3)

这似乎是Safari的缓存处理策略中的一个错误。

apache中的解决方法:

Header unset ETag
Header unset Last-Modified

答案 8 :(得分:2)

我刚刚得到了这个并在我的Mac上解决了它。由于某种原因,有问题的javascript文件具有错误的权限。我注意到当我在萤火虫中看到它时,我得到了403.我希望这对任何人都有帮助。

答案 9 :(得分:0)

我遇到了与css文件相同的问题,而不是javascript。 (使用xitami webserver)

为我修复的是在xitami.cfg的MIME部分添加:

的CSS =文本/ CSS

答案 10 :(得分:0)

我发现我的css文件命名与代理过滤器冲突

www.dating.com(这不是我的网站)被阻止,我的css和js文件被称为dating.css和dating.js。过滤器阻止了这个。对于你们中的一些人来说,也许就是企业系统的情况。

答案 11 :(得分:0)

这个错误似乎重新出现(2010年11月注意到)

我认为涉及的WebKit错误报告是this onethis。从本质上讲,当执行If-Modified-Since得到304响应时,归结为不正确的缓存处理。

答案 12 :(得分:0)

Mac上出现此错误的另一个常见原因是Apple的隔离标志。

ls包含相关资源的目录。如果您看到扩展属性指示符,即权限块末尾的小@符号(例如-rw-r--r--@),则该文件可能会被隔离。

尝试ls -la@e并查找com.apple.quarantine

以下命令将删除隔离区:

xattr -d com.apple.quarantine /path/to/file

答案 13 :(得分:0)

似乎有很多事情会导致这种情况发生。对我来说,它是IIS中的小写重写规则。将问题文件(js和png)更改为小写,问题就消失了。

答案 14 :(得分:0)

在APACHE上

将这些MIME类型附加到根目录中的.htaccess。我建议使用第二行,因为它可能有助于防止将来使用CSS文件发出任何可能的MIME解释警告。

AddType application/x-javascript .js
AddType text/css .css    

重启你的Apache ......

在NGINX上

添加到您的nginx.conf或您的mime.types导入文件(推荐方法)。根据需要/相关添加任何或所有。

types {
    text/html                             html htm shtml;
    text/css                              css;
    text/xml                              xml;
    image/gif                             gif;
    image/jpeg                            jpeg jpg;
    application/x-javascript              js;
    application/rss+xml                   rss;
    text/plain                            txt;
    image/png                             png;
    image/tiff                            tif tiff;
    image/svg+xml                         svg svgz;
    image/webp                            webp;
    application/postscript                ps eps ai;
    application/pdf                       pdf;
    application/rtf                       rtf;
    application/vnd.ms-excel              xls;
    application/vnd.ms-powerpoint         ppt;
    application/msword                    doc;
    application/x-shockwave-flash         swf;
    application/xhtml+xml                 xhtml;
    application/zip                       zip;
}