2012-02-20 31 views
0

ユーザーが描くことができるフラッシュムービーは、JS機能を呼び出すことです。映画で何かが変更されたときはいつでもlistenToUnload(true)が呼び出されます。 Flashムービーの保存ボタンが押されるたびにlistenToUnload(false);が呼び出されます。関数(param)が呼び出された場合、unbeforeunload呼び出しをウィンドウにバインドする方法は?

これは正しい方法ですか。 listenToUnload(true)は連続して複数回呼び出すことができ、アンロード機能をウィンドウに複数回バインドしたくないためです。

これを行う正しい方法ですか?その他のアプローチは?

答えて

0

はまずありがとう、あなたはbeforeunload、ないunloadにバインドする必要があります。

あなたは変数で、または$(document).data('confirm_unload', TRUE_OR_FALSE)中(アンロードする前に確認するかどうか)フラグを格納し、することができます

function closeWindowWarning() { 
    if ($(document).data('confirm_unload')) 
     return "You haven't saved your last changes"; 
} 

をそしてもちろん、一度beforeunloadイベントをバインド:

$(window).bind('beforeunload', closeWindowWarning) 

あなたは別の機能でcloseWindowWarningをラップする必要はありません。

+0

この変数はフラッシュ内からどのように送信/設定されますか? – matt

+0

'function listenToUnload(flag){$(document).data( 'confirm_unload'、flag); } ' – ori

+0

私は絶対にそれを取得しないでください。少し詳細を教えてください。私はActionscriptの中から$(document).dataを呼び出すことはできません! – matt

関連する問題