3

ページの読み込み後に iFrame を dom に挿入する chrome 拡張機能があります。

dom の変更もリッスンしたいのですがDOMSubtreeModified、iFrame を挿入した結果として発生した を無視したいと考えています。したがって、iFrame を挿入する前または後に、あらゆるイベントをキャプチャしたいと考えています。

dom の変更を確認するコンテンツ スクリプトの基本は次のとおりです。

var processRequest = function() {
  $('body').bind('DOMSubtreeModified', DOMModificationHandler);
  return 'complete';
}

function DOMModificationHandler() {
  $(this).unbind('DOMSubtreeModified');
  setTimeout(function() {
    //skip this if it was my iFrame injection that caused this event
    //someLocalFunction();
    $('#ContentContainer').bind('DOMSubtreeModified', DOMModificationHandler);
  },1000);
}

DOMModificationHandler火災が発生したときに、注射と他のドームイベントを区別するためにできることはありますか?

**更新: iFrame に何らかのタイプの ID またはデータ要素を追加することを検討しましたが、イベントの原因となったのが iFrame であるということではなく、そこにあることを示しているだけです。特に、dom の一部を更新した AJAX リクエストがある場合。id または data 属性はおそらく既に存在するため、ドームの変更のソースはまだわかりません。

4

1 に答える 1

1

http://www.w3.org/TR/DOM-Level-3-Events/#event-type-DOMSubtreeModifiedを確認してから、 http ://www.w3.org/TR/DOM-Level-3-Events/ を確認してください。 #events-event-type-target . ターゲットに基づいてイベントをフィルタリングできるはずです。この場合、ターゲットは変更される親サブツリーです。

于 2012-10-25T00:13:47.053 に答える