2011-07-27 11 views
12

親ページと子ページがあります。子ページの本文タグには以下のコードがあります。ChromeとSafariでonunloadが機能しない

親ページのボタンをクリックすると、子ページは閉じてonunloadイベントを呼び出す必要があります。

IEとFFでunloadイベントが正しく発生しています。しかし、それはクロムとサファリでは上がらない。

私を助けてください。

+0

http://stackoverflow.com/questions/803887/can-i-pop-up-a-confirmation-dialog-when-the-user-is-closingの可能重複-the-in-window-in-safari –

答えて

12

最新のWebKitブラウザでは、ページが表示されていない瞬間にunloadイベントが発生するとは限りません。これは、改善されたキャッシュを可能にするために行われます。

unloadの使用をpagehideイベントに置き換えることを検討してください。

this blog post for an in-depth discussionを参照してください。

+0

onunload abd onpagehideの両方が動作していません –

5

多分onbeforeunloadイベントをお試しください。ウィンドウ(または子ページの内側の窓)に添付

1

いやのonbeforeunloadは

7

アンロードは、現代のブラウザで動作を行う必要がありますが、たとえば、あなたは、アラートを起動傾けます。 を参照してください。また http://bugs.jquery.com/ticket/10509

をあなたが$に.getまたはアンロードでの$ .postを使用したい場合、あなたは非同期= falseを持つ$アヤックスを使用することをお勧めします。

例:

$(window).unload(function() { 
      $.ajax({ 
       url: '/some_url.htm', 
       async: false 
      }); 
    }); 
関連する問題