SORU
1 EKİM 2008, ÇARŞAMBA


Çapraz tarayıcı yüklendiğinde olay ve Geri düğmesi

Tüm büyük tarayıcılar (IE hariç), JavaScript yüklendiğinde olayı sayfasına Geri düğmesi bir operasyon sonucunda yüklediğinde ateş değildir, sadece sayfa ilk yüklendiğinde tetikler.

Birisi bu sorunu çözer çapraz tarayıcı bazı örnek kod (Opera, Safari, IE, Firefox ...) beni işaret edebilir? Opera ya da Safari bunu uygulamak ne yazık ki hiçbiri Firefox'un üretimi) yapar olay aşina ama ben.

CEVAP
14 EKİM 2008, Salı


Çocuklar, bu bir WordPress kullanmak yalnızca bir etkiye sahiptir buldum: sayfa Geri düğmesine basıldığında, yeniden. Bununla bir ilgisi yok "hazır".

Nasıl oluyor bu iş? Peki, DV ekleronunloadolay dinleyicisi.

// http://code.jquery.com/jquery-latest.js
jQuery(window).bind("unload", function() { // ...

Varsayılan olarak, hiçbir şey yapmaz. Ama bir şekilde bu Safari, Opera ve Mozilla -- yeniden olay işleyicisi içerir ne olursa olsun, tetikleyici gibi görünüyor.

[Düzenle(Nikolay)burada işlerin bu şekilde yürüdüğünü yüzden: webkit.org, developer.mozilla.org. Bu makaleleri (veya ayrı bir cevap aşağıda benim Özet) lütfen okuyun ve düşününgerçektenbunu yapmak ve sayfa yükleme yavaş kullanıcılar için yapmak gerekir.]

İnanamıyorum? Bunu deneyin:

<body onunload=""><!-- This does the trick -->
<script type="text/javascript">
    alert('first load / reload');
    window.onload = function(){alert('onload')};
</script>
<a href="http://stackoverflow.com">click me, then press the back button</a>
</body>

JQuery kullanırken benzer sonuçlar göreceksiniz.

Bir tek karşılaştırmak isteyebilirsinizonunload

<body><!-- Will not reload on back button -->
<script type="text/javascript">
    alert('first load / reload');
    window.onload = function(){alert('onload')};
</script>
<a href="http://stackoverflow.com">click me, then press the back button</a>
</body>

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Gan Eden Productions

    Gan Eden Pro

    11 HAZİRAN 2011
  • geraldnonadoez

    geraldnonado

    3 Temmuz 2013
  • Xbox

    Xbox

    1 Kasım 2005