私のHTMLページの先頭には、次のものがあります。
<script src="https://raw.github.com/cloudhead/less.js/master/dist/less-1.3.3.js"></script>
ブラウザ(Google Chrome v 27.0.1453.116)でページをロードし、開発者ツールを有効にすると、次のように表示されます。
' https://raw.github.com/cloudhead/less.js/master/dist/less-1.3.3.js ' からのスクリプトの実行を拒否しました。MIMEタイプ( 'text / plain')が実行可能でないため、厳密なMIMEタイプのチェックが有効になっています。
実際、スクリプトは実行されません。なぜChromeはこれがプレーンテキストファイルであると考えるのですか?明らかに.js
ファイル拡張子が付いています。
私はHTML5を使用しているtype
ため、属性を省略したため、それが問題の原因であると考えました。そこでtype="text/javascript"
、<script>
タグに追加し、同じ結果を得ました。私も試しましたがtype="application/javascript"
、それでも同じエラーが発生しました。
それから私はそれをtype="text/plain"
好奇心からだけに変えてみました。ブラウザはエラーを返しませんでしたが、もちろんJavaScriptも実行されませんでした。
最後に、ファイル名のピリオドがブラウザを無効にしている可能性があると考えました。したがって、私のHTMLコードでは、すべてのピリオドをURLエスケープ文字に変更しました%2E
。
<script src="https://raw.github.com/cloudhead/less%2Ejs/master/dist/less-1%2E3%2E3.js"></script>
これはまだ機能しませんでした。本当に機能するのは(ブラウザがエラーを出さず、JSが正常に実行される)唯一のことは、ファイルをダウンロードしてローカルディレクトリにアップロードし、src
値をローカルファイルに変更することです。私は自分のウェブサイトのスペースを節約しようとしているので、これをやめたいです。
リンクされたファイルが実際にJavaScriptタイプであることをChromeに認識させるにはどうすればよいですか?