JSNI メソッドで JS ライブラリを使用する GWT アプリケーションで、 GWT アプリケーションの前nocache.js
と後にJavascript (.js) ライブラリを配置することの違いは何ですか。nocache.js
JSNI メソッドが機能するかどうかに影響しますか?
それは、JSNI メソッドがロードされるタイミングに大きく依存します。
安全のために、使用している JS ライブラリがロードされているかどうかを常に確認してください。例えば
public native static boolean isJqueryMethodLoaded(String method) /*-{
if ($wnd.jQuery && $wnd.jQuery[method]) {
return true;
} else {
return false;
}
}-*/;
(編集済み-ロードシーケンスを明確にするための他の回答に感謝します)
onModuleLoad
は常に または の後に呼び出されます。これは、またはを使用してロードしない限りDOMContentLoaded
、スクリプトがロードされた後に常に発生します (実行できるため) 。document.write()
async
defer
そのため、「他の JS」をasync
orでロードしない限り、両方がロードされた後に常に呼び出される必要がdefer
あるため、それらをロードする順序は実際には問題になりません。onModuleLoad
通常<script>
のタグはブロックされますが、GWT スクリプト タグはブロックされません。非同期でフェッチされるためです (つまり、非ブロック)。はonModuleLoad()
、本文が解析された (つまり、スクリプトがフェッチされた) 場合にのみ呼び出されます。したがって:
<script>
onModuleLoad()
が呼び出されると、常にタグが読み込まれます。こちらをご覧ください。