body
に別のスクリプトがdiv
を追加するたびに、特定の関数を呼び出せます。MutationObserverで全身をどのように観察できますか?
私が試み:
var dom_observer = new MutationObserver(function(mutation) {
console.log('function called');
});
var container = document.body;
console.log(container);
var config = { attributes: true, childList: true, characterData: true };
dom_observer.observe(container, config);
をIは、(上記の例)document.body
およびdocument.querySelector('body')
にcontainer
を設定しようとしました。どちらの場合も、console.log()
はnull
と表示され、次のエラーが表示されます。TypeError: Argument 1 of MutationObserver.observe is not an object.
div
がbody
に追加されたときにコールバック関数が呼び出されませんでした。
document.getElementsByTagName("body")[0]
とdocument.documentElement.childNodes[1]
に設定しようとしました。どちらの場合も、console.log()
はundefined
と表示され、コールバック関数は呼び出されませんでした。
をこのスクリプトを呼び出している場合は?その時あなたのDOMはロードされていますか? 'console.log(document.body)'が 'null'を出力した場合、それはあなたがHTML文書にないか、マークアップの構文解析が'
'にしかないことです。 Ps:DOM解析やさまざまな負荷イベントにまだ慣れていない場合は、Mutation Observerの学習を少し遅らせると、必要がなくてもチャンスが大きいでしょう。 – Kaiidoありがとう、それは解決策でした。私は 'jQuery(document).ready(function {...});'の中にコードを入れなければなりませんでした。すべてが修正されました。これを質問の回答として投稿することができます。 –