Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Melaksanakan Kod Apabila URL Halaman Berubah dengan MutationObserver dalam Greasemonkey?

Bagaimana untuk Melaksanakan Kod Apabila URL Halaman Berubah dengan MutationObserver dalam Greasemonkey?

DDD
DDDasal
2024-10-29 03:59:29414semak imbas

How to Execute Code When the Page's URL Changes with MutationObserver in Greasemonkey?

Cara Melaksanakan Kod Apabila URL Halaman Berubah

Dalam konteks skrip Greasemonkey, ia menjadi perlu untuk bertindak balas terhadap perubahan dalam halaman URL (location.href) dengan cekap. Untuk mencapai ini tanpa memperkenalkan tamat masa atau tinjauan pendapat, pertimbangkan untuk memanfaatkan API MutationObserver.

Penyelesaian Menggunakan MutationObserver

  1. Mulakan URL lama:

    <code class="js">var oldHref = document.location.href;</code>
  2. Lampirkan MutationObserver pada elemen badan:

    <code class="js">window.onload = function() {
        var bodyList = document.querySelector('body');
    
        var observer = new MutationObserver(function(mutations) {
            if (oldHref != document.location.href) {
                oldHref = document.location.href;
                /* Execute your code here */
            }
        });
    
        var config = {
            childList: true,
            subtree: true
        };
    
        observer.observe(bodyList, config);
    };</code>

Spesifikasi JavaScript Terkini

Untuk penyemak imbas moden yang menyokong spesifikasi JavaScript terkini, gunakan sintaks mudah berikut:

<code class="js">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;
      /* Execute your code here */
    }
  });
  observer.observe(body, { childList: true, subtree: true });
};

window.onload = observeUrlChange;</code>

Dengan menggunakan MutationObserver, anda boleh menangkap perubahan URL dengan berkesan dan mencetuskan pelaksanaan kod tersuai tanpa menggunakan teknik pengundian yang tidak boleh dipercayai.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Kod Apabila URL Halaman Berubah dengan MutationObserver dalam Greasemonkey?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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