97

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

サーバーからファイルをロードするとき、または ajax を介してファイルをロードするときに問題が発生することはわかっていますが、これはほとんどの場合、間違ったヘッダーが設定されていることに依存しています。

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

これは、最も基本的な html がある Chrome でのみ発生します。

<!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 のスクリプトが含まれています。したがって、それらの間に実際の警告がいつ発生するかを確認するのが難しくなります。

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

クロムがこれで私を悩ませている理由についてのアイデアはありますか?

4

3 に答える 3

196

私はそれを考え出した!

Visual Studio インストーラーは、誤った行をレジストリに追加したに違いありません。

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

ここに画像の説明を入力

その鍵が見えますか?コンテンツ タイプ キー? その値を text/plain から text/javascript に変更します。

最後に、クロムは再び簡単に呼吸できます。

Windows 7 ではデフォルトで Content Type も PercievedType も存在しないことに注意してください。そのため、おそらく両方とも安全に削除できますが、最低限行う必要があるのはその編集だけです。

とにかく、これであなたも修正されることを願っています!

于 2012-08-21T14:47:46.820 に答える