web-dev-qa-db-ja.com

スクリプトとして解釈されるが、MIMEタイプtext / plainで転送されるリソース-ローカルファイル用

ローカルスクリプトファイルを含めると、Google Chromeで「スクリプトとして解釈されるがMIMEタイプtext/plainで転送されるリソース」という警告が表示されます。

サーバーからファイルをロードするとき、または設定されている間違ったヘッダーに最も頻繁に依存するajaxを介してファイルをロードするときに問題が発生することを知っています。

奇妙なことは、ローカルフォルダーから実行されているにもかかわらず、この警告が表示されることです:file:///C:/test/foo.html

これは、Chromeでのみ発生します。最も基本的なHTMLは次のとおりです。

<!DOCTYPE html>
    <html>
    <head>
        <script type="text/javascript" src="bar.js"></script>
    </head>
    <body>
    </body>
</html>

また、bar.jsは次のように簡単です。

function hello() {}

メタタグを追加してみました:

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

他のDoctypeでテストしましたが、何も役に立たないようです。

スクリプトはまだ正常に機能するので、これは明らかに本当の問題ではありませんが、私は大規模なプロジェクトに取り組んでおり、現在約150個のスクリプトが含まれています。したがって、それらの間で実際の警告がいつ発生するかを確認することは難しくなります。

ローカルまたはリモートのサーバーでファイルを実行すると、すべて正常に動作します。

chromeが私を悩ませている理由についてのアイデアはありますか?

98
batzkoo

私はそれを考え出した!

Visual Studioインストーラーは、レジストリに誤った行を追加している必要があります。

regeditを開き、次のレジストリキーを確認します。

enter image description here

そのキーを参照してください?コンテンツタイプキー? 値をtext/plainからtext/javascriptに変更します。

最後に、chromeは再び楽になります。

Windows 7には既定でContent TypeもPercievedTypeも存在しないため、おそらく両方を安全に削除できますが、最低限必要なのはその編集です。

とにかく、これがあなたのためにそれを修正することを願っています!

196
Simon Sarris

この方法でこの問題を修正しようとしましたが、うまくいきませんでした。

私の問題は、IISマネージャーのHTTP機能にMIMEタイプがないことでした。

経由で静的コンテキストを有効にすることで有効にできました...

->コントロールパネル

->プログラム

-> Windowsの機能をオンまたはオフにする

->インターネットインフォメーションサービス

-> World Wide Webサービス

->一般的なHTTP機能

-> [X]静的コンテンツ。

この後、MIMEタイプが表示され、すべてが再び機能し始めました。

30
user2383049

受け入れられた答えは素晴らしいものです!ただし、私のように問題に遭遇したり、部門/大学のコンピューターを使用することがあり、regeditのキー値を変更する権限がない場合は、回答を投稿するだけです。

変化する

<script type="text/javascript" src="main.js"></script>

<script src="main.js"></script>

エラーメッセージはまだ存在しますが、ページは正しく読み込まれました。

0
Richard Wong