2011-07-27 30 views
12

Ana sayfam ve alt sayfam var. Alt sayfa gövde etiketinde kodun altında. Ana sayfada düğmeyi tıklattığımda, alt sayfa kapatılmalı ve onunload olayını çağırmalıdır.onunload Chrome ve Safari'de çalışmıyor

Boşaltma olayı, IE ve FF'de doğru şekilde yükseliyor. Ama krom ve safaride yükselmiyor.

Lütfen bana yardım edin.

+0

olası yinelenen http://stackoverflow.com/questions/803887/can-i-pop-up-a-confirmation-dialog-when-the-user-is-closing -the-window-in-safari –

cevap

12

Modern WebKit tarayıcılar mutlaka sayfa gizlidir anda unload olayı yoktur. Bu, gelişmiş önbelleğe alma sağlamak için yapılır.

Sen pagehide olayla unload kullanımını yerine düşünebilirsiniz.

Bkz. this blog post for an in-depth discussion.

+0

üzerindeloadloaded on pagehide her ikisi de çalışmıyor –

5

Belki, onbeforeunload etkinliğini deneyimleyin? Pencerenin (veya çocuk sayfanın iç pencereye) bağlı

1

evet onbeforeunload o

7

Unload modern tarayıcılarda çalışır yapmalı, ancak örneğin bir uyarı başlatmak olamaz. bakınız: Ayrıca http://bugs.jquery.com/ticket/10509

Eğer $ .get veya boşaltma içinde $ .post kullanmak istiyorsanız, zaman uyumsuz = false ile $ .ajax kullanmak daha iyi olur.

Ör: bir

$(window).unload(function() { 
      $.ajax({ 
       url: '/some_url.htm', 
       async: false 
      }); 
    });