SORU
25 Mart 2009, ÇARŞAMBA


- Pencere.konum:karma - değiştirmek mi?

Ajax kullanarak ve navigasyon için karma ediyorum. Bir yol varsa window.location.hash böyle değişti olmadığını kontrol etmek için var mı?

http://example.com/blah#123http://example.com/blah#456

Belge yüklendiğinde, eğer kontrol ederseniz çalışır. Ama eğer varsa #karma navigasyon tabanlı eğer var tarayıcı bla#bla 123#456 atladım () Geri düğmesine bastığımda çalışmıyor. Adres kutusunun içinde görünür, ama JavaScript ile yakalayamıyorum.

CEVAP
25 Mart 2009, ÇARŞAMBA


Tek yolu gerçekten bu kadar 'reallysimplehistory' bu, belirleyerek bir aralık, bu tutar kontrol mevcut karma ve karşılaştırma buna karşı ne önce, yaptığımız bu ve izin aboneleri abone olmak için değişen bir olay bu biz kovarsan karma değiştirir.. onun mükemmel değil ama tarayıcılar gerçekten yok destek bu olay doğal olarak.


Güncelleme bu cevap taze tutmak için:

Kullanıyorsanız jQuery (bugün olmalı biraz temel için) o zaman güzel bir çözüm kullanmaktır soyutlama jQuery verir misin kullanarak olaylarını sistemi dinlemek hashchange olaylar penceresi nesne.

$(window).on('hashchange', function() {
  //.. work ..
});

Güzel bir şey işte yazabilirsiniz kod mu gerek bile endişe hashchange destek, ancak BUNU yapmak biraz büyü, form biraz daha az bilinen bir WordPress kullanmak özelliği jQuery special events.

Bu özelliği ile aslında herhangi bir olay için bazı kurulum kodu çalıştırmak için birini herhangi bir olay (olay bağlama gibi) kullanmaya çalışır.

Bu Kur kodu yerli tarayıcı desteği için kontrol edebilirsiniz ve eğer tarayıcı bu yerel olarak uygulamak değilse bile, değişiklik için anket ve jQuery olayı tetiklemek için tek bir zamanlayıcı kurabilirsiniz.

Bu tamamen keser kodunuzu ihtiyacı anlamak bu destek, sorun, uygulama özel bir olay bu tür önemsiz (almak basit bir 98% çalışma sürüm), ama neden o when somebody else has already.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • jkimisyellow...ish

    jkimisyellow

    8 Temmuz 2009
  • ParryGripp

    ParryGripp

    12 AĞUSTOS 2006
  • Phymec

    Phymec

    18 Temmuz 2009