Her aramada JavaScript kodumu www.google.com üzerinden çalıştırmaya çalışıyorum. Aradığımda ör. Kelime "stackoverflow" location.href
benziyor:Neden hashchange olayı www.google.com'da çalışmıyor?
Yani location.search === ""
ve location.hash === "#q=stackoverflow"
. Sonra
Ben Web Konsolu yazın: Sonra
window.addEventListener("hashchange", function() {
console.log("hash changed");
}, false);
Ben mesela yazarsanız Arama alanına "muz" ve "Enter" tuşuna basın location.href
olacaktır:
Ama "hashchange" olayı son Chrome ve Firefox'ta patlamaz. Web Konsolunda hiçbir şey görmeyeceğim. Ancak, konum çubuğundaki URL'yi manuel olarak https://www.google.com/#q=orange olarak değiştirirseniz veya URL'yi location.href = "https://www.google.com/#q=milk"
aracılığıyla değiştirirseniz tetiklenir. Niye ya?
p.s. Www.google.com, arama alanına "Enter" a bastığınızda yeniden yüklenmez. Aslında bir tarayıcı eklentisi ve söz konusu Web Konsolunu sadece basitlik için yapıyorum.
Bunu Google olmayan bir test sayfasıyla denediniz mi? –
@AtesGoral Evet. Test web sayfamda 'something' seçeneğini tıklarsam, karma değişimi olayı harekete geçiyor. – traxium
Ancak, google. Yeni bir istek oluşturması gereken bir form alanına giriyorsun. Bu noktada sayfa yeniden yüklenir. Form gönderim etkinliğine müdahale etmedikçe, yine de gidersiniz, sayfayı değiştirirsiniz ve herhangi bir karma değişiklik olayı tetiklemez. –