7

Ben JavaScript dolu korkunç, dağınık sayfasına sahip oldu burada: Bir liste görünümü vardır ve sevipIE8 sadece önceki sayfanın üst geri atlar değil daha önce (ama yalnızca JS ile)

Listedeki öğelerden birini ayrıntılı olarak izleyebilir.

Şimdi, tarayıcıdan geri düğmesini kullanarak ayrıntılar görünümünden liste görünümüne geri dönmek istiyorum. Şimdi farklı sonuçlar elde ediyorum.

Chrome ve Firefox'ta, IE7'de bile IE8'de değil, tıklattığım yerde sona ererim.

Daha da kafa karıştırıcı yapmak için, JavaScript'i kapatırsam IE8 için de çalışır.

Sorun şu anda nerede aramayacağım şimdi. Birisi bu sorunu ya da en azından bunu etkileyebilecek bir JavaScript yöntemini veya işlevini biliyor mu?

+0

Belki de listeye bir sıralama ekleyin? bir db denir mi? – DiederikEEn

+0

Olası nedenler: sayfa, window.location.replace() yerine window.location = "herpderp" aracılığıyla istemciyi yönlendiriyor mu? sayfa, özellikle IE'de tarih geçişi hakkında konuştuğumuzda, açıkça belli olmayan iframe'leri kullanır. – Tommi

+0

Liste, kullanmakta olduğunuz veya kendiniz yazdığınız bir üçüncü taraf JS lib görüntüleniyor mu? Üçüncü taraf bir kütüphaneci ise, lütfen hangisini bildirin. – Spudley

cevap

3

Kodsuz kesin bir yanıt vermek zordur. IE:

IE'lerde geçmiş deneyimlere dayanan geçici bir yanıt, özellikle standartlara daha iyi yapışan eski ve tüm standart sürümlerin [IE6-, IE7] ve daha yeni IE9'un geçişinde olan IE8 gibi farklı davranışlara sahiptir. Özellikle Javascript'te, IE'ler IE dışındaki tarayıcılara kıyasla seçici olabilir. Bir JS hata tetiklenmesi durumunda geri davranış olabilirdi Yani

ya sen (bağlantı tıklama sayesinde) sayfadan ayrılmak veya Sen döndüğünde

  • Kontrolü (noktaya kolay olan) zaman bırakarak (veya geri geliyor) sayfanın alt kısmında bir hata oluşursa
  • tık eylem sayfası bırakılır önce işlev size bir hata nokta yeterli zaman vermek window.location.href kurmasının setTimeout sayesinde gecikmiş olabilir
  • Yönlendirme "el ile" ise (<a> etiketinin aksine window.location.href= gibi) Öğeye tıklandıktan sonra (this onbeforeunload bug ile olduğu gibi) kodun etrafına bir try {} catch eklemeye çalışın.
İlgili konular