Rumah > hujung hadapan web > tutorial js > Bagaimana dengan Mudah Mengalih Keluar Hash URL dalam JavaScript Tanpa Muat Semula?

Bagaimana dengan Mudah Mengalih Keluar Hash URL dalam JavaScript Tanpa Muat Semula?

Barbara Streisand
Lepaskan: 2024-11-30 04:11:10
asal
414 orang telah melayarinya

How to Effortlessly Remove a URL's Hash in JavaScript Without Reloading?

Pengalihan Keluar Hash URL dengan Mudah dengan JavaScript

S: Saya mempunyai URL seperti http://example.com#something, dan Saya mahu mengalih keluar #sesuatu tanpa memuat semula halaman. Menggunakan "window.location.hash = ''" tidak berjaya.

J: API Sejarah HTML5 menyediakan penyelesaian yang elegan. Berikut ialah fungsi JavaScript yang melakukan silap mata:

function removeHash () {
    history.pushState("", document.title, window.location.pathname
                                                       + window.location.search);
}
Salin selepas log masuk

Ini berfungsi dalam penyemak imbas utama seperti Chrome, Firefox, Safari, Opera dan juga IE 10.

Untuk penyemak imbas yang menggunakan 't menyokong API Sejarah:

function removeHash () {
    var scrollV, scrollH, loc = window.location;
    if ("pushState" in history)
        history.pushState("", document.title, loc.pathname + loc.search);
    else {
        // Prevent scrolling by storing the current scroll offset
        scrollV = document.body.scrollTop;
        scrollH = document.body.scrollLeft;

        loc.hash = "";

        // Restore the scroll offset to prevent flickering
        document.body.scrollTop = scrollV;
        document.body.scrollLeft = scrollH;
    }
}
Salin selepas log masuk

Penyelesaian ini mungkin tidak serasi secara universal, tetapi ia memberikan anggun kemerosotan untuk penyemak imbas yang tidak menyokong API Sejarah.

Atas ialah kandungan terperinci Bagaimana dengan Mudah Mengalih Keluar Hash URL dalam JavaScript Tanpa Muat Semula?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan