MIMEタイプのセマンティクスに興味がありますapplication/javascript
対 text/javascript
。
明らかに、1つは実行されることになっており、もう1つは単なるテキストであることになっています。
そうですか application/javascript
外部.jsロードのヘッダーを見るとき。
HTTP/1.1 200 OK
Date: Mon, 13 Jan 2014 18:32:58 GMT
Server: Apache/2.2.22 (Unix) mod_ssl/2.2.22 OpenSSL/0.9.8e-fips-rhel5
Content-Type: application/javascript
Content-Length: 856
keep-alive: timeout=5, max=59
Via: 1.1 (jetty)
Accept-Ranges: bytes
この場合application/javascript
はjavascriptを実行します。なぜ使用しないのですか
<script type="application/javascript">
// some js code.
</script>
そしてその逆、なぜ外部JS負荷はtext/javascript
?
このあたり 、text/javascript
はobsoleteです。つかいます application/javascript
代わりに。
text/javascript(廃止):JavaScript; RFC 4329で定義および廃止され、application/javascriptを優先して使用を推奨していません。ただし、HTML 4および5ではtext/javascriptが許可されており、application/javascriptとは異なり、クロスブラウザがサポートされています。 HTML5のタグの「type」属性はオプションであり、すべてのブラウザが常に正しいデフォルトを想定しているため(仕様で要求されているHTML 4でも)、まったく使用する必要はありません。
この標準はIE <= 8と互換性がありません。