質問

ブラウザのページ内で実行しているアプレットがあるとします。 ユーザーがブラウザを閉じた場合はどうなりますか?

アプレットは、その側で何らかのクローズアクションを実行できるように通知されます(サーバーへの接続を閉じる、静的変数をクリーニングする、など)

また、(ブラウザを閉じるのではなく)ページの更新またはページナビゲーションにも同じ動作が適用されると思います。ブラウザは開いたままですが、アプレットは消えています。ただし、ブラウザを閉じるとJVMも閉じるため、この時点ではわかりません。

ありがとう、 JB

役に立ちましたか?

解決

はい、ブラウザがオブジェクトをアンロードする前に destroy()メソッドを呼び出す必要があります

destroy()は、4つの<!> quot; ライフサイクルメソッド <!> quot;の最後です。 Javaアプレット(その他は init() start()、および stop())です。実際には、ブラウザ仮想マシンに応じて異なるタイミングで呼び出されます。それぞれがいつ呼び出されるかを正確に知りたい場合は、アプレット内で各メソッドを実装し、System.outにフィードバックを送信します。

理想的には、destroy()は環境によって呼び出される必要があり、1回だけ呼び出される必要があります。 destroy()が呼び出されていないように見える場合は、destroyを呼び出すpublic finalize()メソッドを宣言できます。また、ウィンドウオブジェクトがアンロードされるときにjavascriptからdestroy()を呼び出そうとすることもできますが、再度、不必要にdestroy()を呼び出さないようにしてください。

public void finalize () {
    destroy();
}

他のヒント

ほとんどの場合destroyが呼び出されますが、ウィンドウを閉じた場合に必要なタスクを実行するのに十分な時間を取得できません。

バックワード<!> lt;-およびForward-<!> gt;

で移動して、リフレッシュするときに十分な時間を取得します
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top