Preamble to scope my question:
Ben bir web uygulaması dinamik tarayıcıda UI içerik bölümünü yüklemek için yoğun jQuery ve AJAX kullanır (veya siteyi, bu bir iç LAN sitedir). Bir kullanıcı navigasyon menüsünü kullanarak uygulamayı gider. Navigasyon menüsünde bir öğeyi tıklatarak php için bir AJAX arama yapar ve php ardından merkez içerik bölümünü doldurmak için kullanılan içeriğini döndürür.
Sayfalarından birini kullanıcı içine girilir ki, bir tablo gibi ayarlanmış bir tablo formu vardır php geri hizmet. Bu tablo her zaman veritabanındaki verileri ile senkronize tutulur. Yani, tablo oluşturulduğunda, o ilgili veritabanı veri ile doldurulur olduğunu. Kullanıcı bir "hücre" bir değişiklik yapar o zaman, bu değişiklik hemen geri veritabanına yazılır böylece tablo ve veritabanı senkronize her zaman vardır. Bu yaklaşım girdikleri verileri (uzun hikaye ...) kaydedildiğini kullanıcılara güven almak, ve bir tür kaydetmek düğmesini tıklatın zorunda onları hafifletmek için.
Yani, bu her zaman senkron fikri bir kullanıcı, bir hücreye bir değer girin hücreden dışarı odak alamaz, ve o son değer kaybolmasına neden olacak eylemlerin herhangi bir sayı alabilir dışında, harika: örn vs, navigasyon menüsü üzerinden başka bir bölüme gidin app oturumu, tarayıcıyı kapatmak
End of preamble, on to the issue:
Ben başlangıçta sadece veri kaydedilir "kirli" ya da değil ne izlemek istiyorum, ve sonra onunload olay ben veritabanına bir son yazma yapacağını çünkü bu, bir sorun olmadığını düşündüm. Burada ovmak yatıyor: çünkü benim (emin, o kadar zeki değil ya da değil) akıllı AJAX kullanımı ve yukarıdaki işlemler dışında, alındığında dinamik içerik bölümünü, kullanıcı aslında hiç orijinal url bırakır, ya da sayfa, yükleme ve tarayıcıyı kapatarak. Bu nedenle, onunload olayı değil, ve ben yine son verileri kaybetme geri duyuyorum.
My question, is there a recommended way to handle figuring out if a person is navigating away from a "section" of your app when content is dynamically loaded this way?
Ben küresellerle ve şu anda görüntülenen sayfayı takip gerektirir bence bir çözüm ile gelip, ama orada daha zarif bir çözüm olabilir eğer ben kontrol ediyorum, ya da benim tasarım yapabilir bir değişiklik, o yapmak düşündüm bu iş.
Her zaman olduğu gibi şimdiden teşekkürler!