Internet Explorerが理解できるように、IEで機能しないjQueryコードtext/javascriptがHTMLドキュメントで使用されるという質問に基づいています。
しかし、いつapplication/javascriptを使用しtext/javascriptますか?さらに重要なことに、なぜの代わりにそれを使用するのでしょうか?
Internet Explorerが理解できるように、IEで機能しないjQueryコードtext/javascriptがHTMLドキュメントで使用されるという質問に基づいています。
しかし、いつapplication/javascriptを使用しtext/javascriptますか?さらに重要なことに、なぜの代わりにそれを使用するのでしょうか?
回答:
よると、理論的にはRFC 4329、application/javascript。
それが想定されている理由はapplication、型が読み取り可能か実行可能かには関係ありません。これは、汎用charsetパラメーターだけでなく、言語/タイプ自体によって規定されたカスタム文字セット判別メカニズムがあるためです。のサブタイプはtext、プロキシによって別の文字セットにトランスコードして、文字セットパラメータを変更できる必要があります。これはJavaScriptには当てはまりません。
a。RFCによると、ユーザーエージェントはスクリプトでBOMスニッフィングを行ってタイプを判別する必要があります(ただし、実際にこれを行うブラウザーがあるかどうかはわかりません)。
b。ブラウザーは他の情報(ページのエンコーディングや一部のブラウザーではscript charset属性など)を使用して文字セットを決定します。そのため、リソースをトランスコードしようとしたプロキシは、ユーザーを破壊します。(もちろん、実際には、とにかく誰もトランスコーディングプロキシを使用することはありませんが、それが目的でした。)
したがって、ファイルの正確なバイトが保存されなければならないまさにそれがバイナリになりた、applicationタイプではなく、技術的に文字ベースtext。
同じ理由で、application/xmlが公式に優先されtext/xmlます。XMLには独自の帯域内文字セットシグナリングメカニズムがあります。そして誰もapplicationがXMLを無視しています。
text/javascriptそしてtext/xml公式正しいことではないかもしれないが、そこに誰もが、互換性のために、今日使用するものであり、彼らは正しいことじゃない理由は、実質的に完全に重要でない話しています。
application/javascriptIEをとの互換モードで実行する場合は注意してくださいIE=8。インラインスクリプトが適切に評価されていないようです。text/javascriptそこでうまくいきます。
X-Content-Type-Options: nosniffを使用してブラウザーがタイプを解釈しないようにすることをお勧めします。
Server: nginx非表示またはnginxが送信するものと同じです。まるで、穴を見つけることができる人は、実行しているサーバーを知るために明示的なヘッダーが必要であるかのように...
applicationなぜなら.js-filesは、ユーザーが読みますが実行されるはずです何かしたい、何かではありません。
application / javascriptは使用する正しいタイプですが、IE6-8ではサポートされていないため、text / javascriptのままです。妥当性を気にしない場合(HTML5を除く)、タイプを指定しないでください。