var clicked = false;
$(document).on('click','a',function(){
clicked = true;
// Do something
});
History.Adapter.bind (window, 'statechange', function() {
if(clicked){
// Normal link
}else{
// Back button
}
clicked = false;
});
Umut. Her seferinde geri itildiğinde başka bir durum eklenir. Yani teoride History.savedStates[History.savedStates.length - 2] == currentState
'un olup olmadığını görmek için History.savedStates
test edebilirsiniz. Bu, kullanıcının adım a'dan adım b'ye geri döndüğünü gösterir. Ancak, kullanıcı geri düğmesinden başka yollara gidebilir - bu yüzden bunu kullanıcı etkinlikleri ile birlikte kullanmanız gerekebilir.
Kayıtlı bir duruma dönmek için History.getStateByIndex
yöntemini de kullanabilirsiniz.
teşekkürler @will Sadece sizinki gibi bir yaklaşım kullanarak çözdüm, ama "statechange" kancasının engellenmesini önlemek için "clicked" modifikasyonları arasında History.pushState (...) çağrımı yaptım –