Heim  >  Fragen und Antworten  >  Hauptteil

MutationObserver funktioniert auf localhost nicht ordnungsgemäß

<p><strong>TL;DR: Aus irgendeinem Grund wird der MutationObserver auf meiner Seite überhaupt nicht ausgelöst. Das gleiche Konsolen-Snippet funktioniert auf anderen Seiten, jedoch nicht, wenn es auf meinem lokalen Host ausgeführt wird. </strong></p> <hr /> <p>Ich arbeite an einem Standard-React-SPA, das mit Webpack erstellt wurde und auf localhost läuft. </p> <p>Im Moment versuche ich, https://github.com/KingSora/OverlayScrollbars auf meiner Seite zu verwenden und sie funktionieren größtenteils gut, sie scheinen nur nicht in der Lage zu sein, Inhaltsänderungen automatisch zu erkennen. Beim Debuggen ist mir aufgefallen, dass der intern verwendete MutationObserver überhaupt nicht ausgelöst wird. </p> <p>Dann begann ich weiter zu recherchieren und verwendete dieses Code-Snippet auf meiner Seite: </p> <pre class="brush:js;toolbar:false;">let obs = new MutationObserver(changes => console.log('changes:', changes)); obs.observe($0, { Attribute: wahr, attributeOldValue: true, Teilbaum: wahr, childList: wahr, Charakterdaten: wahr, }); </pre> <p>Unabhängig davon, wie ich den Knoten ($0) oder einen anderen untergeordneten Knoten ändere, wird der Beobachter nicht ausgelöst. </p><p> <strong>Es ist jedoch völlig in Ordnung, dasselbe Code-Snippet auf anderen Seiten zu verwenden! </strong></p> <p>Jetzt habe ich überhaupt keine Ahnung, wie das passiert ist, also wäre ich für jede Hilfe oder Idee sehr dankbar! </p>
P粉894008490P粉894008490436 Tage vor553

Antworte allen(1)Ich werde antworten

  • P粉164942791

    P粉1649427912023-09-01 12:08:38

    好吧,这是一个典型的案例,“你试过重新启动你的电脑吗” - 或者在这种情况下是Chrome。

    一旦我重新启动了Chrome,这个相同的代码片段就开始工作了(只是打开一个新的标签页是不够的 - 我必须完全重新启动Chrome)。

    所以我猜测Chrome中的一些问题导致了一个bug,并破坏了我页面上的观察者,所以我希望它现在会继续正常工作 :-/

    Antwort
    0
  • StornierenAntwort