Warum wird der MutationObserver-Code nicht in Chrome 30 ausgeführt?

8

Von Ссылка erhielt ich den folgenden Code:

> %Vor%

jsFiddle: Ссылка

Wie Sie sehen, sollten wir eine Warnung sehen, weil ein div -Element in das DOM eingefügt wurde. Aber es scheint, MutationObserver-Codes laufen nicht. Wie kann ich den MutationObserver-Code erfolgreich ausführen lassen?

    
weilou 03.10.2013, 03:53
quelle

1 Antwort

12

Fügen Sie auch subTree -Option hinzu, es sollte funktionieren, Sie wollen nicht nur Kinder des Dokuments ( head/body ) überwachen, sondern auch Nachkommen. (Und das ist der Grund, wenn document.body funktioniert).

%Vor%

Geige

Von Dokumentation

  

subtree: Setzen Sie den Wert auf "true", wenn nicht nur die Zielmutanten, sondern auch die Nachkommen des Ziels beobachtet werden sollen.

Was Sie also hinzufügen, ist ein Nachkomme von document , nicht dessen Kind (oder direkter Nachkomme). Es ist ein Kind von body (und das ist der Grund, warum childList nur erwähnt wird und document.body funktioniert). Sie müssen subTree erwähnen, wenn Sie die Änderungen tief überwachen möchten.

Siehe auch den Hinweis:

  

HINWEIS: Zumindest müssen childList, attributes oder characterData auf "true" gesetzt sein. Andernfalls wird der Fehler "Eine ungültige oder ungültige Zeichenfolge angegeben" ausgegeben.

    
PSL 03.10.2013, 04:04
quelle