アドオン内で MutationObserver を使用しようとしています。したがって、オブザーバーを設定する content-script を挿入します。これは何とか機能しているように見えますが、検出されたミューテーションは JSON にシリアル化できないようです。しかし、実際には、このライブラリを使用してミューテーションを監視したいと考えています。これは、アドオンのミューテーション監視に関してMozilla によって公式に言及されています。しかし、これはまったく機能しません。
それで、コンテンツスクリプト内で動作するミューテーションオブザーバー(より良いミューテーションサマリー-リンクを参照)の実際の例を誰かが手に入れましたか?
私のコードは次のようになります。
var observer = new MutationObserver(function (mutations) {
self.port.emit("domModified", mutations); //I gets received as 'Array [{}]'
mutations.forEach(function (mutation) {
console.log(mutation.type); //printing mutation results in {}, printing mutation.type results in an actual string
console.log(mutation.target);
console.log(mutation.addedNodes.length);
});
});
observer.observe(unsafeWindow.document.body, {
attributes: true,
subtree: true,
characterData: true,
childList: true
});