MutationObserver tidak berfungsi dengan betul pada localhost
P粉894008490
2023-08-31 21:38:41
<p><strong>TL;DR: Atas sebab tertentu MutationObserver tidak menyala sama sekali di halaman saya. Coretan konsol yang sama berfungsi pada halaman lain, tetapi tidak apabila dijalankan pada localhost saya. </strong></p>
<hr />
<p>Saya sedang mengusahakan SPA tindak balas standard yang dibina dengan pek web dan berjalan pada localhost. </p>
<p>Sekarang saya cuba menggunakan https://github.com/KingSora/OverlayScrollbars pada halaman saya dan kebanyakannya berfungsi dengan baik, mereka nampaknya tidak dapat mengesan perubahan kandungan secara automatik.
Dengan beberapa penyahpepijatan, saya perhatikan bahawa MutationObserver yang digunakan secara dalaman tidak menyala sama sekali. </p>
<p>Kemudian saya mula menyiasat lebih lanjut dan menggunakan coretan kod ini pada halaman saya: </p>
<pre class="brush:js;toolbar:false;">let obs = new MutationObserver(changes => console.log('changes:', changes));
obs.observe($0, {
sifat: benar,
attributeOldValue: benar,
pokok pokok: benar,
childList: benar,
characterData: benar,
});
</pra>
<p>Walau bagaimanapun, tidak kira bagaimana saya mengubah suai nod ($0) atau mana-mana nod anak lain, pemerhati tidak menyala. </p><p>
<strong>Walau bagaimanapun, tidak mengapa untuk menggunakan coretan kod yang sama pada halaman lain! </strong></p>
<p>Sekarang saya sama sekali tidak tahu bagaimana ini berlaku, jadi sebarang bantuan atau idea sahaja akan sangat dihargai! </p>
Baiklah, ini ialah kes klasik "sudahkah anda mencuba memulakan semula komputer anda" - atau dalam kes ini Chrome.
Coretan kod yang sama ini mula berfungsi sebaik sahaja saya memulakan semula Chrome (membuka tab baharu sahaja tidak mencukupi - saya terpaksa memulakan semula Chrome sepenuhnya).
Jadi saya rasa beberapa isu dalam Chrome menyebabkan pepijat dan memecahkan pemerhati pada halaman saya, jadi saya berharap ia akan terus berfungsi dengan baik sekarang :-/