ホームページ  >  に質問  >  本文

MutationObserver がローカルホスト上で正しく動作しない

<p><strong>TL;DR: 何らかの理由で、私のページでは MutationObserver がまったく起動しません。同じコンソール スニペットは他のページでは機能しますが、ローカルホストで実行すると機能しません。 </strong></p>
<p>私は、webpack で構築され、localhost 上で実行される標準的な React SPA に取り組んでいます。 </p> <p>現在、自分のページで https://github.com/KingSora/OverlayScrollbars を使用しようとしていますが、ほとんど正常に動作しますが、コンテンツの変更を自動的に検出できないようです。 いくつかのデバッグを行った結果、内部で使用されている MutationObserver がまったく起動しないことに気付きました。 </p> <p>その後、さらに調査を開始し、ページで次のコード スニペットを使用しました。 <pre class="brush:js;toolbar:false;">let obs = new MutationObserver(changes => console.log('changes:',changes)); obs.observe($0, { 属性: true、 属性古い値: true、 サブツリー: true、 childList: true、 文字データ: true、 }); </pre> <p>しかし、ノード ($0) やその他の子ノードをどのように変更しても、オブザーバーは起動しません。 </p><p> <strong>ただし、同じコード スニペットを他のページで使用することはまったく問題ありません。 </strong></p> <p>これがどのようにして起こったのかまったくわかりません。そのため、助けやアイデアだけでもいただければ幸いです。 </p>
P粉894008490P粉894008490415日前534

全員に返信(1)返信します

  • P粉164942791

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

    さて、これは「コンピュータを再起動してみましたか?」という典型的なケースです。この場合は Chrome です。

    これと同じコード スニペットは、Chrome を再起動するとすぐに機能し始めました (新しいタブを開くだけでは十分ではなく、Chrome を完全に再起動する必要がありました)。

    つまり、Chrome の問題がバグを引き起こし、私のページのオブザーバーを壊したのだと思います。そのため、今後も正常に動作することを願っています :-/

    返事
    0
  • キャンセル返事