1

私のプロジェクトに問題があります

HTMLコードをページに挿入するChrome拡張機能を開発しています。具体的には、ブラウザのアクションによってトリガーされるブートストラップモーダルを挿入しています。

私が現在直面している問題は、最後にモーダルを注入する責任があるコードが、それを任意のプレゼントbodyにも注入することです。iframes

これは私が使用しているコードです:

$('html > body:not(iframe body)').append(container);

残念ながら、これは意図した body 要素を選択する結果にはなりません。コードが挿入されており、ソース ドキュメントを制御できないため、依存し.first()たり.last()、回避策として使用したりすることはできません

この問題に関するヘルプをいただければ幸いです:)

編集:通常、問題iframesはタイプの要素内にあります#document(必要な評判があれば、その画像を投稿します)

4

2 に答える 2

1

使ってみてfilter

$('body').filter(function() {
    return !($(this).closest('iframe').length > 0);
}).append(container);

デモ

于 2013-06-03T21:19:25.283 に答える
1

myrsnipe が述べたように、スクリプトをトップ フレームにのみ挿入する場合は"all_frames": false、マニフェストで設定する必要があります。コメントだけでなく、回答として表示されるように、これを書いています。

于 2014-04-04T13:13:31.053 に答える