Mengalih keluar Simbol Cincang daripada URL dengan JavaScript
Mengalih keluar simbol cincang (#) daripada URL tanpa memuat semula halaman memerlukan sentuhan yang lebih halus daripada sekadar menetapkan window.location.hash kepada rentetan kosong.
Penyelesaian Elegan untuk Moden Pelayar
API Sejarah HTML5 moden menawarkan penyelesaian yang elegan:
function removeHash() { history.pushState("", document.title, window.location.pathname + window.location.search); }
Contoh Demo:
https://jsfiddle. net/AndyE/ycmPt/
Pelayar Lebih Luas Sokongan
Untuk pelayar yang tidak mempunyai sokongan History API, pertimbangkan skrip yang merendahkan maruah ini:
function removeHash() { var scrollV = document.body.scrollTop; var scrollH = document.body.scrollLeft; var loc = window.location; if ("pushState" in history) { history.pushState("", document.title, loc.pathname + loc.search); } else { loc.hash = ""; document.body.scrollTop = scrollV; document.body.scrollLeft = scrollH; } }
Kaveat
Walaupun penyelesaian ini boleh mengalih keluar simbol cincang, perlu diperhatikan bahawa ia mungkin tidak berfungsi dalam semua penyemak imbas, terutamanya yang lebih lama versi.
Nota Tambahan:
Untuk menggantikan halaman semasa dalam sejarah penyemak imbas, gunakan replaceState() dan bukannya pushState().
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengalih Keluar Simbol Hash daripada URL Menggunakan JavaScript Tanpa Memuat Semula Halaman?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!