I History.js'yi nasıl kullanacağınızı tamamen anlamakta sorun yaşadım.
1. Get (window.history history.js bir referans History.js bir başvuru almak referansı cisme
nesne Capitol: İşte açıklama benim yorumlarla kendi wiki bazı kodudur 'H').
HTML5 geçmişinin etkin olup olmadığını kontrol etmek için History.enabled öğesini işaretleyin. History.js, eğer olmasa bile karma etiketlerini kullanarak çalışmaya devam edecektir.
History.enabled
2.
geçmiş değişikliklerini dinle durum değişiklikleri Adaptör nesnenin statechange olaya bağlanan tarihi için dinlemek için buraya
görünümünüzü güncellemek.
History.Adapter.bind(window,'statechange',function(){
var State = History.getState();
History.log(State.data, State.title, State.url);
});
3.
itmek kullanarak tarih durumlarını işleyin veya
tarihine bir devlet eklemek için değiştirin pushState diyoruz. Bu, yukarıda gösterildiği gibi 'statechange' olayını tetikleyecek olan tarih yığınının sonuna bir durum ekleyecektir.
History.pushState({data:"any kind of data object"}, "State Title", "?urlforthestate=1");
tarihine bir devlet değiştirmek için replaceState diyoruz. Bu, yukarıda gösterildiği gibi 'statechange' olayını tetikleyecek olan tarih yığındaki son durumu değiştirecektir.
History.replaceState({data:"any kind of data object"}, "State Title", "?urlforthestate=1");
pushState ve replaceState arasındaki fark pushState replaceState son halini üzerine yazacaktır geçmiş listesine bir devlet katacak olmasıdır.
NOT: pushState ve replaceState, veri nesnesini serileştirir, bu nedenle orada minimum veriyi kullanın.
4. geçmişini gezinmek muktedir kullanıcı için ek ui eklemek istiyorsanız
, navigasyon
kullanın geri komutlarını kullanmak ve kodu aracılığıyla geçmişinde gezinmeyi gidin.
History.back();
History.go(2);
Ek:
geçmişi olan "a" etiketlerini kullanmak için geçmişi ile "a" etiketlerini müdahale olayları tıklayıp (event.preventDefault kullanarak gezinme tarayıcıyı önlemek gerekir kullanma) yöntem.
Örnek:
<a href="dogs/cats" title="Dogs and cats">Dogs and Cats</a>
$('a').click(function(e){
e.preventDefault();
var url = $(this).attr('href');
var title = $(this).attr('title');
History.pushState({data:title}, title, url);
});
umarım bu yardımcı olur.
Olası bir cevabı ve ilgili soruya buradan ulaşabilirsiniz: http://stackoverflow.com/questions/13278822/is-this-a-proper-way-to-use-history-js – dansalmo