Tôi đang sử dụng plugin jQuery BBQ để đẩy trạng thái đến vị trí.hash.Cập nhật hàm băm theo lập trình mà không kích hoạt sự kiện hashchange?
Để ngăn vòng lặp phản hồi, tôi muốn vô hiệu hóa trình lắng nghe hashchange tạm thời trong khi đặt trạng thái theo chương trình.
Tôi đã nhìn thấy giải pháp này: Change hash without triggering a hashchange event
Thật không may, nó dường như không được hoàn toàn mạnh mẽ vì nó đôi khi gây nên mặc dù tôi làm điều này:
updateURL(obj){
$(window).unbind('hashchange');
$.bbq.pushState(obj);
setTimeout(function() { bindHashChange()}, 500);
}
Có bây giờ là một cách tiếp cận tốt hơn để đẩy các trạng thái theo chương trình? Có lẽ một thư viện JS khác?