Orchard でテーマを作成しようとしていて、レイアウトにいくつかのスクリプト インクルードを追加しました。
Script.Include("//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js").AtHead();
using (Script.Head()) {
@:<script>window.jQuery || document.write('<script src="scripts/jquery-1.7.1.min.js"><\/script>')</script>
}
Script.Include("plugins.js").AtHead();
Script.Include("script.js").AtHead();
Google CDN から jQuery をロードしたいのですが、CDN バージョンをロードできない場合はローカル フォールバックが必要です。これを実現するために、jQuery スクリプトの直後にスクリプト ブロックを追加しました。ただし、生成されたページ ソースを見ると、次のようになります。
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"
type="text/javascript"></script>
<script src="/OrchardLocal/Themes/Test/scripts/plugins.js" type="text/javascript">
</script>
<script src="/OrchardLocal/Themes/Test/scripts/script.js" type="text/javascript">
</script>
<!--[if lt IE 9]>
<script src="/OrchardLocal/Core/Shapes/scripts/html5.js" type="text/javascript">
</script>
<![endif]-->
<script>window.jQuery || document.write('<script src="js/libs/jquery-1.7.1.min.js"><\/script>')
</script>
問題は、フォールバックが他のすべてのスクリプトの後にあるのに対し、jQuery CDN スクリプト インクルードの直後にしたいことです。
Orchard がインライン スクリプト ブロックをレンダリングする場所を制御する方法はありますか?