Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mengesan dan Mengendalikan Perubahan Hash Lokasi dengan Amanah dalam JavaScript?
Mengesan dan Mengendalikan Perubahan Cincang Lokasi
Menavigasi aplikasi web menggunakan Ajax dan cincang membolehkan peralihan yang lancar antara halaman tanpa memuatkan semula keseluruhan dokumen. Walau bagaimanapun, mengesan perubahan dalam window.location.hash boleh menjadi mencabar, terutamanya apabila menggunakan butang belakang penyemak imbas.
Sokongan Penyemak Imbas Asli
Malangnya, penyemak imbas tidak secara asli acara sokongan untuk mengesan perubahan cincang. Apabila cincang berubah, bar alamat mengemas kini secara automatik, tetapi JavaScript tidak boleh memantau perubahan ini secara langsung.
Tinjauan undian dengan setInterval
Satu penyelesaian yang berpotensi ialah menggunakan setInterval( ) kaedah untuk menyemak cincang semasa secara berkala dan membandingkannya dengan nilai sebelumnya. Jika perbezaan dikesan, tindakan yang perlu boleh diambil. Walaupun kaedah ini berfungsi, ia boleh menjadi tidak cekap dan mungkin tidak menangkap semua perubahan cincang dengan segera.
Abstraksi Acara jQuery (Jawapan Kemas Kini)
Jika aplikasi anda menggunakan jQuery, anda boleh memanfaatkan sistem acara terbina dalamnya. jQuery menyokong acara 'tukar hash' pada objek tetingkap, yang menghilangkan isu sokongan khusus penyemak imbas.
Menggunakan acara 'tukar hash' jQuery, anda boleh mendaftarkan pendengar acara seperti ini:
$(window).on('hashchange', function() { // Code to handle hash change });
Di sebalik tabir, jQuery mengesan sokongan asli untuk acara 'hashchange' dan, jika tidak tersedia, ia menggunakan mekanisme pengundian untuk mencetuskan peristiwa pada perubahan cincang. Pendekatan ini memudahkan pengendalian perubahan cincang dengan ketara.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesan dan Mengendalikan Perubahan Hash Lokasi dengan Amanah dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!