defer
「場所」で外部jsを宣言する必要があります。私はそれ
<r:external uri="http://cdn.connect.mail.ru/js/loader.js" disposition="defer"/>
がうまくいくと思っていましたが<script...
、それが呼び出された場所にコードを配置するだけです。
taglibを使用して遅延場所で外部jsを宣言するにはどうすればよいですか?
Grails 2.0+、リソース プラグイン
あなたが説明したように、r:externalタグは残念ながらJavaScriptのデフォルトの性質である「defer」を尊重していないようです。また、ドキュメントによると、r:externalタグは、これを明示的に宣言するための「disposition」属性を提供していません。r:script
タグは
、スクリプトを本文の下部に正しく配置しますが、「インライン」JavaScriptのみを対象としているため、「src」属性は提供しません。
この不足している機能を回避する最も良い方法は、ApplicationResources.groovyファイルでリソースモジュールを定義することだと思います。
modules = {
...
mail_loader {
resource url: "http://cdn.connect.mail.ru/js/loader.js"
}
...
次に、TagLibを使用してそれを要求します。
out << r.require(module: "mail_loader")
すでに述べたように、JavaScriptリソースのデフォルトの処理は「defer」であるため、ケースで処理を明示的に定義する必要はありません。