Bagaimana untuk Mengesan dan Membalas Perubahan URL dalam JavaScript?

Linda Hamilton
Lepaskan: 2024-10-28 18:10:30
asal
295 orang telah melayarinya

How to Detect and Respond to URL Changes in JavaScript?

Cara Mencetuskan Peristiwa Apabila URL Berubah

Apabila membangunkan skrip Greasemonkey untuk tapak web yang mengubah suai window.location.href secara berkala, ia adalah selalunya diperlukan untuk melakukan tindakan khusus sebagai tindak balas kepada perubahan URL ini. Walau bagaimanapun, menggunakan tinjauan pendapat atau tamat masa sebagai penyelesaian yang berpotensi boleh menjadi tidak cekap.

Untuk mengelakkan isu sedemikian, kami mengemukakan kaedah yang sangat berkesan yang menggunakan API MutationObserver. Dengan memantau perubahan dalam elemen badan, skrip ini boleh mengesan pengubahsuaian URL dengan berkesan dan menyediakan akses kepada DOM dokumen yang diubah suai:

var oldHref = document.location.href;

window.onload = function() {
    var bodyList = document.querySelector('body');

    var observer = new MutationObserver(function(mutations) {
        if (oldHref != document.location.href) {
            oldHref = document.location.href;
            /* Insert your code here */
        }
    });
    
    var config = {
        childList: true,
        subtree: true
    };
    
    observer.observe(bodyList, config);
};
Salin selepas log masuk

Sebagai alternatif, jika anda lebih suka pendekatan yang lebih ringkas dan moden, anda boleh menggunakan yang berikut skrip, yang memanfaatkan spesifikasi JavaScript terkini:

const observeUrlChange = () => {
  let oldHref = document.location.href;
  const body = document.querySelector('body');
  const observer = new MutationObserver(mutations => {
    if (oldHref !== document.location.href) {
      oldHref = document.location.href;
      /* Insert your code here */
    }
  });
  observer.observe(body, { childList: true, subtree: true });
};

window.onload = observeUrlChange;
Salin selepas log masuk

Kaedah ini membolehkan anda melampirkan fungsi yang anda inginkan pada acara yang dicetuskan apabila URL berubah, memberikan akses kepada DOM dokumen yang diubah suai.

Atas ialah kandungan terperinci Bagaimana untuk Mengesan dan Membalas Perubahan URL dalam JavaScript?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!