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
Mulakan URL lama:
<code class="js">var oldHref = document.location.href;</code>
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!