2010-07-09 13 views
5

Web sitemdeki bir kullanıcının gerçek zamanlı olarak bırakılıp bırakılmadığını (yani, bağlantının kesildiği, kapatıldığı vb.) Bir yolu var mı?Bir kullanıcının web sitemi terk edip etmediğini nasıl anlarım?

Ben RoR web sitesi oluşturma ve en kısa sürede bir kullanıcı (uzak etki alanı vb gezinmeye örneğin bağlantı,) herhangi bir nedenle herhangi bir yardım için şimdiden

Teşekkür için sitemi ayrılır ayrılmaz bir etkinliği başlatmak istiyoruz ediyorum.

+0

Kullanıcı bilgisayarından uzaklaşırsa ne olur? – SLaks

+0

@SLaks: JavaScript, bir sayfada beş veya on dakika gibi bir süre için yeniden konumlandırın ve daha sonra bilgileri sunucuya geri almak için AJAX'ı kullanın. (Düzenleme: Doğal olarak bu, sadece aynı sayfada kalan kullanıcının hesabını hesaba katmaz. Ama sadece bir olasılık olduğunu gösteriyorum!) –

cevap

6

Hayır, yok.

Yapabileceğiniz en iyi şey, her X saniyede bir AJAX isteği göndermektir (belki de kullanıcı fareyi hareket ettirirse). Sunucu 2X saniye boyunca istek almazsa, kullanıcının kaldığını varsayalım.

0

Tüm javascript etiketinde JavaScript olduğunu onunload olayı olduğunu ... Ne kadar canlı olduğunu bilmiyorum, ama teorik olarak yaklaşan bir kopukluk hakkında bilgi göndermek için bir AJAX çağrısı kullanmış olabilirsiniz.

Elbette, tarayıcı işlemi henüz işe yaramazsa öldürülürse.

Ve Rails'in aynı şeyi yapan herhangi bir eşsiz büyüye sahip olup olmadığından emin değilim (daha iyisi hariç).

+0

Kullanıcı bağlantıyı kaybederse işe yaramaz. – SLaks

+0

@SLaks: Doğru. Proaktif olarak kalp atışı bilgisi gönderme yaklaşımınızın daha iyi olduğunu düşünüyorum. –

2

:

$(window).bind('beforeunload', function(){ 
    // there 
}); 

kullanıcının sayfayı terk sunucuyu anlatmak için bazı Ajax veya bir şey Gönder, ama bu iyi değil fikir. Google Analytics'te ve diğer istatistik hizmetlerinde, kullanıcının sayfanızda ne kadar süre kaldığını görebilirsiniz.

İlgili konular