2010-09-02 27 views
14

Arabirim oluşturmak için $(document).ready() kullanan bir web sayfam var. Daha sonra kullanıcı bir alt sayfaya gidebilir ve orijinal sayfaya geri dönerek tarayıcının "önceki" düğmesine veya history.back();'u tetikleyen sayfada "Geri Dön" düğmesine basabilir. Orijinal sayfaya dönüldüğünde, sayfa eksik bilgi olması için $(document).ready() tetiklenmez.

tetiklemek için bir yol, bir "gerçek yük" olsaydı gibi otomatik var mı?

Teşekkürler! İçinde bir uyarı yerleştirerek

düzenlemek

, uyarı poped ancak malzeme hazır olayın kısmı eksikse gibi benim arabiriminde kayıp. document.ready 2

hahahahaha

düzenleme ... incelenmesi Ben kontrolsüz olması gerekiyordu bazı onay kutusunu click. Bu sayfada "geri" döndüğümde kontrol ediliyor ve böylece click numaralı telefondan kontrolsüz kalıyorlar.

Maalesef bu tamamen benim kötü :(kullanıcı gezinmek için Back düğmesini kullanıyor ve sayfanın tam yeniden yüklemeyi gerektiriyorsa

+0

Hangi tarayıcıyı sen bunu görüyor musunuz? Bu sorunu sadece Geri/İleri düğmeleriyle görüyorum. –

+0

Chrome'dayım. Sorunu bildiren kullanıcı Firefox'ta. – Sirber

+0

, yakın – Sirber

cevap

7

, sayfanın NO-CACHE politikasını ayarlayabilirsiniz.

olduğunu Bu şekilde tarayıcı, sayfayı sunucudan yeniden yüklemek zorunda kalır, hatta Back düğmesini kullanarak bile

+0

Hrmm..nice cevap. Bunu düşünmemiştim. – Dutchie432

+0

Zaten kullanıyorum: header ("Cache-Control: private, no-cache, must-revalidate"); başlık ("Pragma: no-cache"); – Sirber

+0

'' ekledim, ancak "back" a bastığımda sayfayı yeniden yüklemiyor. – Sirber

1

Çok ilginç bir soru: Sayfa odaklandığında veya benzer bir şey olduğunda olayı/işlevi yeniden tetiklemeniz gerekebilir. Ayrıca, izlemek için bir bayrak değişkenini tutması gerekebilir. r 'bir olayın yeniden tetiklenmesi' sırayla.

4

1.) Komut dosyalarını sayfanızın altına yerleştirin.
2.) eklentileri ve son komut etiketlerinizde kullanamazsınız.
3.) OnDomReady uygulamalarını hiç kullanmayın, gereksizdir.

İnsanlar, bu nedenle yük altında veya ondomready alışkın, onlar bir sayfanın alt kısmında komutlarınızı koyarak hemen hemen aynı şey yok ve html kullanılabilir olup olmadığını görmek gerek kalmadan gerçeği gerçeği gözden kaçırıyor.

Ayrıca, betiklerinizin ya html/css oluşturma engellemediğiniz takdirde iyi bir uygulama da var. onDomReady veya onLoad uygulamaları bağlı değil

konularda bir çok çözer.

+1

-1, 'Yüklemenin 'çalışmadığı bir tarayıcıda çözümünüz işe yaramıyor. Örneğin. FireFox, yazıya yüklediğinizde ya da sayfanın alt kısmında olmanıza bakılmaksızın sadece betiği çalıştırmaz. Test ettin mi? – Pacerier

8

bu soruna hızlı bir çözüm yerine "onpageshow" kullanırlar.

window.onpageshow = function(event) { 
    //do something 
}; 
+0

Teşekkürler! Önerilen diğer çözümlerin hiçbiri, hem Firefox'ta hem de Chrome'da düzgün çalışmıyordu, ancak bunu yapıyor. –

İlgili konular