Geçmiş API'siyle çalışıyorum ve push ve pop durumunu kullanıyorum. Popstate etkinliğini, yalnızca karma kelimeyi URL'ye eklediğim bazı senaryolarda tetiklemeyi durdurmak istiyorum. Örneğin bazı durumlarda bağlantı noktası tıklandığında URL'ye #
ekler ve hemen ateş edilir.) #
veya #somehasvalue
'un URL'ye eklendiği ve popstate'un ateşlemeyi durdurduğu tüm senaryolardan kaçınmak istiyorum. URL'leri sorgu parametreleriyle topluyorum ve URL'de #
ile tetiklenecek popstate olayına ihtiyacım olan herhangi bir senaryo yok.karbondioksit geçişini durdurma
İşte kodum.
if (supportsHistoryApi()) {
window.onpopstate = function (event) {
var d = event.state || {state_param1: param1, state_param2: param2};
var pathName = window.location.pathname,
params = window.location.search;
loadData(event, pathName + params, d.state_param1, d.state_param2);
}
Bu, açtığınız ilk sayfaya döndüğünüzde çalışmaz. Çünkü o zaman “devlet” de “null”, ama hala bir değişim yok. –