2012-04-03 4 views
3

におけるライフサイクルは、アプレットのライフサイクルは、4つの方法があります: を - のinit()それが 作成された - それは 示されたときに()を起動していない - (ストップ)それはもはや を示しているとき - 破壊()リソースを解放するためにアプレットIE

somブラウザ(Internet Explorer、おそらく他のものも)は時々i9nvokes init()を複数回実行することがあります。私たちはこれによって引き起こされたようなアプレットにいくつか問題がありました。しかし、これを修正したときには役に立たなかった...

さらに調査したところ、実際にInternet Explorerはinit()を2回呼び出すだけでなく、2つのインスタンスを作成してinit()とstart ) 両方に。これは、アプレットが初めて実行されたときに発生するようですが、2番目のアプレットではない可能性があります。確かに非常に奇妙な....

これを防ぐために何をすべきでしょうか?

REF:私はこれの解決策を見つけ、この上の時間の支出の多くの後 https://groups.google.com/group/google-web-toolkit/browse_thread/thread/b4c33ccfbe13c530

http://code.google.com/p/google-web-toolkit/issues/detail?id=5788

+0

私はGWTチームにそれを報告することがとても混乱している人の様子(その様子)を受け入れる準備ができていません。返信を愛しました - * "GWTはアプレットで何もしません。" *あなた自身のテストを設定できますか? 'init()'/'start()'がもう一度呼び出されても、あなたのアプレットはどうやって破壊されますか?おそらく起こりそうな場合は、[JWS](http://stackoverflow.com/tags/java-web-start/info)を使用してアプレットを自由に起動することが考えられます。 –

+0

IE + AngularJSフロントエンドで同じ問題が発生しました。 Firefoxは正常に動作します。 –

答えて

1

。 IEの代わりに<object>タグを使用してください。

正常に動作します。しかし、私はこれがどのように起こるか明確な考えを持っていません。

+0

は私のために働かない:( –