ローカル JavaScript ファイルのリンクされた参照を GitHub の生のバージョンに変更しようとすると、テスト ファイルが動作しなくなります。エラーは次のとおりです。
text/plain
MIME タイプ ( ) が実行可能ではなく、厳密な MIME タイプ チェックが有効になっているため、... からのスクリプトの実行を拒否しました。
この動作を無効にする方法はありますか? または、GitHub の生のファイルへのリンクを許可するサービスはありますか?
動作コード:
<script src="bootstrap-wysiwyg.js"></script>
動作しないコード:
<script src="https://raw.github.com/mindmup/bootstrap-wysiwyg/master/bootstrap-wysiwyg.js"></script>
ベストアンサー1
この問題を回避するには、jsdelivr.net。
手順:
- GitHub でリンクを見つけて、「Raw」バージョンをクリックします。
- URLをコピーします。
raw.githubusercontent.com
への変更cdn.jsdelivr.net
/gh/
ユーザー名の前に挿入します。- 名前を削除します
branch
。 - (オプション)リンク先のバージョン
@version
を挿入します(これを行わないと、最新のバージョンが取得され、長期間のキャッシュが発生する可能性があります)
例:
http://raw.githubusercontent.com/<username>/<repo>/<branch>/path/to/file.js
最新バージョンを入手するには、この URL を使用してください。
http://cdn.jsdelivr.net/gh/<username>/<repo>/path/to/file.js
特定のバージョンまたはコミット ハッシュを取得するには、次の URL を使用します。
http://cdn.jsdelivr.net/gh/<username>/<repo>@<version or hash>/path/to/file.js
実稼働環境では、ブランチではなく特定のタグまたはコミットハッシュをターゲットにすることを検討してください。最新のリンクを使用すると、ファイルが長期間キャッシュされ、新しいバージョンをプッシュしてもリンクが更新されなくなる可能性があります。コミットハッシュまたはタグでファイルにリンクすると、リンクはバージョンごとに一意になります。
なぜこれが必要なのでしょうか?
2013 年、GitHub は の使用を開始しましたX-Content-Type-Options: nosniff
。これは、より新しいブラウザに厳密な MIME タイプ チェックを強制するように指示するものです。その後、サーバーから返された MIME タイプで生のファイルを返すため、ブラウザがファイルを意図したとおりに使用することができなくなります (ブラウザが設定を尊重する場合)。
このトピックの背景については、以下を参照してください。このディスカッションスレッド。