2011-12-03 14 views
7

Bir web uygulaması geliştiriyorum, kullanıcı oturumu kapatmak istediğimde, yalnızca uygulamanızın tüm 'sekmelerini' kapattığında veya kullanıcı tarayıcıyı kapatır.tüm uygulama sekmelerinin kapatıldığını algılar

Bunu nasıl yapacağını bilen var mı?

+1

Bu daha önce ortaya çıkmıştır ve tek gerçekçi yolu, bir tanesi kapatılmış olduğunu işaret etmek için, muhtemelen bir 'onunload' ile, kaç kez açık ve "geri ping" olduğunu takip etmektir. Yine de gerçek sekmeleri Javascript'te tespit edemezsiniz. Javascript'te sekmelere erişiminiz yok. Oturumu canlı tutmak için agresif (örneğin, 1-3 dakikalık zaman aşımı) oturum zaman aşımıyla bir ping'i tarayıcıdan kullanabilirsiniz. –

+0

Buradan ulaşabilirsiniz: http://stackoverflow.com/questions/1921941/close-kill-the-session-when-the-browser-or-tab-is-closed – Devnook

cevap

0

Cevabı buradan deneyin: Javascript Communication Between Browser Tabs/Windows. Çerezler bunu yapmak için alışılmış yoldur. Bunları "onunload" etkinliği ile birleştirin ve ihtiyacınız olanı gerçekleştirebilmelisiniz.

Kolayca oturum açma çerezinizi ömür boyu 0 olarak ayarlayarak "oturum" olarak ayarlamanız daha kolay olurdu. Bu, kullandığım çoğu tarayıcıdaki sekmeler arasında paylaşılır ve pencere kapandığında temizlenir. Tek sorun, Internet Explorer'ın, bir web sitesinin tüm sekmeleri kapalı olduğunda değil, pencere kapatılmadığı sürece oturum çerezlerini temizlememe eğiliminde olmasıdır.

İlgili konular