MutationObserver を使用して、Web ページに追加された画像を探しています。CSSプロパティを介して多くの画像が表示されるbackground-image
ため、タグを探すことに加えて、現在/計算されたCSSスタイルをチェックしていimg
ます。たとえば...
var hasBackgroundImage = function(node) {
var nodeStyle = node.currentStyle || getComputedStyle(node, null);
return (
nodeStyle &&
nodeStyle.backgroundImage &&
nodeStyle.backgroundImage != "none"
);
};
ただし、ノードがミューテーション イベントをトリガーしてから CSS ルールが適用されるまでには遅延があるようbackgroundImage
です。これは、コードがデバッグ中 (ブレークポイントでのステップ実行) に機能したが、実行時に機能しなかったときに気付きました。ミューテーションイベントの処理をsetTimeout
遅らせることもできますが、遅延がかなり大きく、ページごとに変化する必要があることを確認する必要があります (CSS ルールがいつ適用されることが保証されるかは正確にはわかりません)。考えられる原因は、単に CSS コンテンツのロードまたはインジェクションの遅延である可能性があります。
この機能を実現する最善の方法は何ですか? 私はオンスタイル変更の突然変異の後だと思いますが、これが存在するとは思えません。