ChatGPT解决这个技术问题 Extra ChatGPT

Debug message "Resource interpreted as other but transferred with MIME type application/javascript"

OK, I understand what the messages means, but I'm really not sure what's causing it. I'm using Safari and the Web Inspector on Mac OS X, by the way.

I've got the following in my document head:

<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 is handled fine, but the other file causes the warning. It also seems that the javascript in this file never gets executed.

The file is being served via mod_deflate, so it is gzip encoded, but so is the other file.

Has anybody got any ideas what's causing this, or how to resolve it?

Cheers all, Gaz.

which version of safari?
Can you post a working example URL? Looking at what's actually happening from the browser's point of view would be helpful.
It's probably a bug, same thing shows up on my Safari 4 on win.

J
John Mee

An image with an empty "src" attribute generates this error under Windows-Chrome:

<img src="">

... whereas ...

<img>

... does not.

I arrived here because my ajax resultset was returning "src" data which was empty yet the img was still being inserted into the page.


This was exactly the case for me.
@DanDascalescu reports url() - ie no src address - in your CSS or javascript is effectively the same thing and generates the same error. especially: background-image: url()
A
Alfredo Yong

Solved!

I have had this error for several days. It was driving me crazy because it didnt allow me to use firefox firebug's script debugger. Finally, my error was solved when I removed an empty url in a "background-image: url()" style property.

This has been so much a pain than I really hope somebody can use this advice.


This was a pain to debug, until I just searched from the error string on SO. The error came from a Wordpress theme, ProMotion, that simply outputted whatever the user typed in as a background image URL. Most of the time, there was no background image URL typed in.
S
Stijn Geukens

I don't think it is a bug, Try adding the MIME type to your .htaccess file For instance, put or add the following content to your .htaccess file (which should be in the same place of your .js or above folders)

#JavaScript
AddType application/x-javascript .js

This solved my tree "Resource interpreted as other but transfered ... " warnings. Everytime you have that kind of warning it means you don't have enough info in your .htaccess file.

BTW1: Since you are modifying .htaccess file, make sure you restart your server.

BTW2: I also could clear same warnings for GIF files in Safari 4 with this:

#GIF
AddType image/gif .gif

BTW3: For other file types: see w3schools list or htaccess-guide


You don't need to restart your server after modifying .htaccess.
a
ax.

seems to be a bug in safari / webkit. maybe this one, or any of these. try upgrading your safari. if there is no more recent stable version, try the 4 beta.


look at the next answer that actually solve the problem. This can be explained because src ="" goes to fetch the current page as the image. if you have src ="" just remove the src property
佚名

This warning appears because no default script type is specified. Try adding the following directive to your HTML file:

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

You can read more about default scripting specifications here: http://www.w3.org/TR/REC-html40/interact/scripts.html#h-18.2.2.1


a
artlung

You need to use a tool to view the HTTP headers sent with the file, something like LiveHTTPHeaders or HTTPFox are what I use. If the files are sent from the webserver without a MIME type, or with a default MIME type like text/plain, that might be what this error is about.


佚名

It is because of the period in the file name. It is stupid, but anytime there is a period in the js file name you will get this error, and I have come across situations where it will actually prevent the js file from loading.


that may be one reason, but not the only reason that this error occurs.
s
senz

It seems like a bug in Safari's cache handling policies.

Workaround in apache:

Header unset ETag
Header unset Last-Modified

Yeah there's a bug when using Last-Modified in WebKit browsers. They seem to get confused about any static file when you send that header.
m
m3talsmith

I just got this and solved it locally on my mac. For some reason the javascript file in question had bad permissions. I noticed when I looked at it in firebug I was getting a 403. I hope that helps anyone.


d
dnndeveloper

I had the same issue with a css file instead of javascript. (using the xitami webserver)

what fixed for me was adding under the MIME section of xitami.cfg:

css=text/css


v
vichingo

I found out that the naming of my css files was in conflict with the proxy filters

www.dating.com (which is not my site) was blocked and my css and js files were called dating.css and dating.js. The filter was blocking this. Maybe that is the case with some of you, working on corporates systems.


M
Martin Algesten

This bug seem to have resurfaced (Noticed it November 2010)

I think the WebKit bug reports involved are this one and this. Essentially it boils down to incorrect cache handling when doing an If-Modified-Since which get a 304 response.


Z
Zach Harkey

Another common cause of this error on the Mac is Apple's quarantine flag.

ls the directory containing the resource(s) in question. If you see the extended attribute indicator, i.e., the little @ symbol at the end of the permissions block (e.g. -rw-r--r--@ ) then the file could be quarantined.

Try ls -la@e and look for com.apple.quarantine

The following command will remove the quarantine:

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

U
UpTheCreek

There seem to be many things that cause this. For me it was a lowercase rewrite rule in IIS. Changed the problem files (js and png) to lowercase and problem went away.


T
Timothy Perez

On APACHE

Append these MIME types to .htaccess in your root. I recommend the second line, as it may help prevent any future potential MIME interpretation warnings with CSS files.

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

Restart Your Apache...

On NGINX

Add to your nginx.conf or your mime.types import file (Recommended Method). Add any or all as needed/relevant.

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;
}