web-dev-qa-db-ja.com

デバッグメッセージ「リソースは他として解釈されますが、MIMEタイプapplication / javascriptで転送されます」

OK、私はメッセージが何であるかを理解していますmeans、しかし、何がそれを引き起こしているのか本当にわかりません。ところで、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でエンコードされますが、他のファイルも同様です。

誰がこれを引き起こしているのか、またはそれを解決する方法のアイデアを持っていますか?

乾杯、ガズ。

64
Gaz

safari/webkitのバグのようです。多分 これ 、または これらのいずれか 。サファリをアップグレードしてみてください。最新の安定版がない場合は、4ベータ版を試してください。

9
ax.

空の「src」属性を持つ画像は、Windows-Chromeでこのエラーを生成します。

<img src="">

...一方...

<img>

... ではない。

私がここに到着したのは、私のajax結果セットが空の「src」データを返していたのに、imgがまだページに挿入されていたからです。

35
John Mee

解決しました!

私は数日間このエラーを経験しました。 firefox firebugのスクリプトデバッガーを使用することができなかったので、私は夢中になりました。最後に、「background-image:url()」スタイルプロパティの空のURLを削除すると、エラーが解決しました。

これは、誰かがこのアドバイスを使用できることを本当に望んでいるよりも非常に苦痛でした。

13
Alfredo Yong

バグではないと思います。MIMEタイプを.htaccessファイルに追加してみてください。たとえば、次のコンテンツを.htaccessファイルに追加または追加します(.jsまたは上記のフォルダーと同じ場所にある必要があります)

#JavaScript
AddType application/x-javascript .js

これにより、「他と解釈されたリソースが転送されました...」という警告のツリーが解決しました。そのような警告が表示されるたびに、.htaccessファイルに十分な情報がないことを意味します。

BTW1:.htaccessファイルを変更しているため、必ずサーバーを再起動してください。

BTW2:これでSafari 4のGIFファイルについても同じ警告をクリアできました。

#GIF
AddType image/gif .gif

BTW3:その他のファイルタイプについては、 w3schools list または htaccess-guide をご覧ください

10
nacho4d

この警告は、デフォルトのスクリプトタイプが指定されていないために表示されます。 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

6
user100144

LiveHTTPHeaders または HTTPFox のようなものを使用して、ファイルとともに送信されるHTTPヘッダーを表示するツールを使用する必要があります。ファイルがMIMEタイプなしで、またはtext/plainのようなデフォルトのMIMEタイプでWebサーバーから送信された場合、このエラーが原因である可能性があります。

4
artlung

ファイル名にピリオドがあるためです。それは愚かですが、jsファイル名にピリオドがあるときはいつでもこのエラーが発生し、jsファイルのロードを実際に妨げる状況に出くわしました。

4
Brandon

Safariのキャッシュ処理ポリシーのバグのようです。

Apacheの回避策:

Header unset ETag
Header unset Last-Modified
3
senz

これを入手して、Macでローカルに解決しました。何らかの理由で、問題のjavascriptファイルのアクセス許可が不適切でした。 firebugでそれを見ると、403が表示されていることに気付きました。

2
m3talsmith

Cssファイルの命名がプロキシフィルターと競合していることがわかりました

www.dating.com(これは私のサイトではありません)がブロックされ、cssおよびjsファイルはdating.cssおよびdating.jsと呼ばれました。フィルターはこれをブロックしていました。たぶんそれは企業システムに取り組んでいるあなたの一部の場合です。

0
vichingo

これを引き起こす多くのことがあるようです。私にとっては、IISの小文字の書き換えルールでした。問題ファイル(jsおよびpng)を小文字に変更すると、問題はなくなりました。

0
UpTheCreek

Apacheの場合

これらのMIMEタイプをルートの.htaccessに追加します。 2行目をお勧めします。これは、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;
}
0
Timothy Perez

Javascriptではなくcssファイルでも同じ問題が発生しました。 (xitami Webサーバーを使用)

私が修正したのは、xitami.cfgのMIMEセクションの下に追加することでした:

css = text/css

0
dnndeveloper

このバグは再浮上しているようです(2010年11月にそれを否定しました)

関連するWebKitバグレポートは this onethis であると思います。基本的には、If-Modified-Sinceこれは304応答。

0
Martin Algesten

Macでのこのエラーのもう1つの一般的な原因は、Appleの検疫フラグです。

lsは、問題のリソースを含むディレクトリです。拡張属性インジケーター、つまり、権限ブロックの末尾にある小さな@記号(たとえば、-rw-r--r--@)が表示されている場合、ファイルを検疫できます。

ls -la@eを試して、com.Apple.quarantineを探してください

次のコマンドは、検疫を削除します。

xattr -d com.Apple.quarantine /path/to/file
0
Zach Harkey