次の機能を含む chrome 拡張機能を作成しようとしています。
1 ユーザーが特定のドメインのページにアクセスすると、この拡張機能はページ内の一部の DOM を削除します。
2 すべての画像のサイズを確認します。そのうちの 1 つが指定されたサイズよりも大きい場合、この画像は指定されたサイズに設定され、ユーザーがクリックすると、画像は元のサイズにサイズ変更されます。
これが私がやったことです:
"content_scripts": [
{
"matches": ["http://*.xx.com/*"],
"js": ["res/js/jquery-2.0.3.min.js", "res/js/inject.js"],
"run_at": "document_end"
}
]
inject.js:
$(document).ready(function () {
$("xxx").remove();
$("img").each(....);
});
ただし、いくつかの問題があります。
1 jquery ライブラリはローカルで参照されますが、CDN ソースから jquery をロードするアイデアはありますか?
2 ページが完全に読み込まれるまでに長い時間がかかります。つまり、削除されるコンテンツが長時間表示されたままになります。
3 ページは twitter のようなレイアウトを使用し、ユーザーがページをスクロールすると、より多くのコンテンツが読み込まれます。それで問題が発生します。
Myinject.js
はページの読み込みが完了すると実行され、すでに読み込まれているすべての画像が処理されます。しかし、それ以上のコンテンツが読み込まれると、新たに読み込まれた画像は処理されません。
element_rendered
それで、私がキャプチャできるようなイベントがあるのだろうか?はいの場合、次のように仕事をすることができます:
xxx.events.addListener('element_rendered',function(ele){
if(shouldRemvoed(ele)){
//remvoe it.
} else if(isImg){
//check size......
}
});
これは可能ですか、それとも私の仕事をするための代替手段はありますか?