1

次の機能を含む 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......
    }
});

これは可能ですか、それとも私の仕事をするための代替手段はありますか?

4

1 に答える 1