MutationObserver無法在本機上正常運作
P粉894008490
P粉894008490 2023-08-31 21:38:41
0
1
521
<p><strong>TL;DR:由於某種原因,MutationObserver在我的頁面上根本不觸發。相同的控制台程式碼片段在其他頁面上有效,但在我的本機上運行時卻無效。 </strong></p> <hr /> <p>我正在一個使用webpack構建的標準react SPA上工作,它在本地主機上運行。 </p> <p>現在我正在嘗試在我的頁面上使用https://github.com/KingSora/OverlayScrollbars,它們大部分都正常,但似乎無法自動偵測內容變更。 透過一些調試,我注意到內部使用的MutationObserver根本不會觸發。 </p> <p>然後我開始進一步調查,並在我的頁面上使用了這個程式碼片段:</p> <pre class="brush:js;toolbar:false;">let obs = new MutationObserver(changes => console.log('changes:', changes)); obs.observe($0, { attributes: true, attributeOldValue: true, subtree: true, childList: true, characterData: true, }); </pre> <p>然而,無論我如何修改節點($0)或任何其他子節點,觀察者都不會觸發。 </p><p> <strong>然而,在其他頁面上使用相同的程式碼片段完全正常! </strong></p> <p>現在我完全不知道這是怎麼發生的,所以任何幫助或只是想法都將不勝感激! </p>
P粉894008490
P粉894008490

全部回覆(1)
P粉164942791

好吧,這是一個典型的案例,「你試過重新啟動你的電腦嗎」 - 或者在這種情況下是Chrome。

一旦我重新啟動了Chrome,這個相同的程式碼片段就開始工作了(只是打開一個新的標籤頁是不夠的 - 我必須完全重新啟動Chrome)。

所以我猜Chrome中的一些問題導致了一個bug,並破壞了我頁面上的觀察者,所以我希望它現在會繼續正常工作 :-/

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!