答えて
私はこれがあなたが探しているものだと思います。
<body onload="onloadHandler();">
<script type="text/javascript">
function onloadHandler() {
if (document.createElement && document.getElementsByTagName) {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = './test.js';
var heads = document.getElementsByTagName('head');
if (heads && heads[0]) {
heads[0].appendChild(script);
}
}
}
function iAmReady(theName) {
if ('undefined' != typeof window[theName]) {
window[theName]();
}
}
function test() {
// stuff to do when test.js loads
}
</script>
は -
iAmReady('test');
テスト済みおよびWindows、IE 6とOpera 9.52のためのFirefox 2、Safariの3.1.2で働いtest.js。私はそれらのアップレベルのバージョンも同様に動作するはずです。
ロードは非同期であることに注意してください。 appendChild()
を呼び出した直後に、ロードされたファイル内の関数または変数を使用しようとすると、失敗する可能性が高くなります。そのため、スクリプトが完了したときに初期化関数を強制的に実行するコールバック読み込み中。
ロードされたスクリプトの一番下にある内部関数を呼び出して、ロードされたものを実行することもできます。
ロードするモジュールに必要なJavaコードがすべて1つのJavaScriptファイルにコンパイルされるため、GWTはこれを容易にサポートしません。この単一のJavaScriptファイルは大きくなる可能性がありますが、自明ではないモジュールの場合は、同等の手書きJavaScriptよりも小さくなります。
生成された単一のJavaScriptファイルが大きすぎるシナリオがありますか?
あなたのアプリケーションを複数のGWTモジュールに分割することも考えられますが、モジュール間でコードを共有する能力が制限されることを覚えておく必要があります。したがって、あるモジュールが別のモジュールが参照する同じクラスを参照するクラスがある場合、その共通クラスのコードは2回含まれます。
効果的に、モジュールは独自の名前空間を作成します.2つの別々のクラスローダーで同じクラスを読み込むと、Javaで得られるものと似ています。実際、GWTコンパイラはコード内で参照されているメソッド(つまりデッドコードの削除)でコンパイルするだけなので、あるモジュールには共通クラスから別のモジュールへのメソッドの異なるサブセットが含まれていることが考えられます。
したがって、すべてを1つのモノリシックモジュールとしてロードするかどうかを検討し、最初の回でヒットを取ることは、累積コードサイズが1つのモジュールアプローチよりも大幅に大きい可能性がある複数のモジュールを持つよりも優れています。
GWTは、同じバージョンのモジュールを一度ロードするだけです(それ以降はキャッシュされる)ように設計されているため、ほとんどの場合、先行ヒットの方が望ましい
iPhoneまたはiPod touchを使用して、「一歩前進」アプローチで大きなGWTアプリケーションを読み込もうとすると、ロードされません。
モジュールアプローチは、管理するのがより複雑ですが、より小さいクライアントデバイスの方が優れています。
ここで、iFrameを使用せずにJavaコードからモジュールをロードするにはどうすればよいですか?
- エリック
チェックアウトGWT.runAsyncだけでなく、GWTプロジェクトでのJavaScriptの遅延ロードに入り、以下のGoogleのI/Oの話、。 *、*の部分で:
- 1. 遅延読み込みライブラリ?
- 2. Autofac遅延読み込み
- 3. GWT:外部JSリソースの遅延読み込み
- 4. Sonata Adminの遅延読み込み
- 5. アセンブリ/カタログの遅延読み込み
- 6. Entity Framework遅延読み込み
- 7. エンティティフレームワーク.NETでの遅延読み込み
- 8. ロードプロパティの遅延読み込み
- 9. Angular 4ユニバーサル遅延読み込みエラー
- 10. RecyclerView遅延読み込みTextViewコンテンツ
- 11. 遅延読み込みandroid ExpandableListView
- 12. AutomapperとNHibernateの遅延読み込み
- 13. C#の遅延読み込み?
- 14. のUITableView - 遅延読み込みコンタクトイメージ
- 15. 遅延Javascriptの読み込み
- 16. 遅延読み込みエラー画像
- 17. ソーシャルボタンの遅延読み込み
- 18. Hibernate-フィールド遅延読み込み
- 19. boolで遅延読み込み
- 20. UScroll遅延読み込みアンロードビュー
- 21. レイアウトの読み込み遅延
- 22. 非同期遅延読み込みタスク
- 23. 遅延読み込みInfragistics Ultragrid
- 24. Vue.js 2.0遅延読み込み
- 25. Javascriptのテキストファイルの読み込み遅延
- 26. 遅延実行と遅延読み込み
- 27. 非遅延としてマップされたアソシエーションを遅延読み込み
- 28. 遅延読み込みでICollectionプロパティが読み込まれない
- 29. Resty-GWTの読み込み
- 30. 遅延書き込みエラー
衒学(時間25:30頃) – GEOCHET