2011-07-14 8 views
0

で呼び出さ取得beforeunload私はブラウザを閉じる、または誰かの種類いくつかの他のウェブサイトの名前など、は、ページの更新とのhrefクリック

$(window).bind("beforeunload", function(){ 
     return confirm("Do you really want to close?"); 
    }); 

しかし、上記のコードを検出するために、次の関数を使用していますページの更新のために呼び出さなっていますhrefのクリック、フォームを提出するなど これらのシナリオで上記のコードを実行しないretrictことができ、または私は他のいくつかのメソッドにコードを

任意のヘルプまたはポインタをしないのですか

が理解されるであろう

答えて

4

beforeunloadは、現在のページがアンロードされる前に呼び出されます。次の送り先がどこにあっても - 自分のサイトであっても、現在のURLをリロードした場合でも。この機能の背後にあるアイデアは、この特定のWebページの保存されていないデータについてユーザーに尋ねることができるようにすることです。そのデータが失われるようなことが起こるとすぐにトリガーされます。

mozilla docsによると、この方法の標準はありません。それはIE4によって実装され、他のブラウザによってコピーされました。

ページが閉じようとしている理由を知る方法はありません。通常、この方法では、ページに何らかの変更フラグが記録され、保存されていない重要なデータがある場合にのみ、ユーザーに確認メッセージが表示されます。

ここには、このイベントになるイベントデータのMicrosoft's documentationがあります。いくつかのテストを工夫して(ブラウザ間で)何が起こっているのかを確実に伝え、場合によってはプロンプトを避けることができるかどうかを確認する必要があります。

+0

ありがとう、とにかく私が望むものを達成するためにはありますか – kobe

+0

プロンプトを実行する具体的なシナリオは何ですか? – jfriend00

+0

誰かがブラウザを閉じるときや、アドレスバーに何かを入力したときに、他のウェブサイトに移動することがあります。 – kobe

関連する問題