2012-03-10 12 views
0

Facebookのフィードでアイテム(友人があなたと共有するもの)へのリンクを追加するChrome拡張機能を作成しました。 Facebookはページの読み込み時に約10〜20個のアイテムを読み込み、残りのページはスクロールダウン時にajax経由で読み込まれます。FacebookのChrome拡張機能のコンテンツスクリプトをリロードする必要がある

コンテンツスクリプトを最初のアイテムでは使用できましたが、残りのアイテムでは使用できませんでした。私は見つけることができるすべてを読んだことがあり、コンテンツスクリプトをリロードする必要があるようです。

URLは変わらないと考えてどうすればいいですか?

+0

[JavaScriptを/ jQueryのDOMの変更リスナーがありますか?](https://stackoverflow.com/questions/2844565/is-there-a-javascript-jquery-dom-change-listener)の可能性の重複 – Makyen

答えて

0

まあ、新しいXXLのアイテムがあるかどうかを確認するために、XX秒ごとに実行される時間駆動のリスナーをハングアップすることができます。

残念ながら、あなたがハングアップできるイベントはありません。ページのコードがAjaxを実行するときに発生します。

ユーザーを検出するためにどのようなエバートがロードされたアイテムのリストの最後に到達したかを把握できます。ページのコードがより多くのアイテムを取得するためにいくつかのAjaxを実行することがわかっています。その後、あなたは時間駆動のリスナーを始めます。

1

DOMNodeInsertedイベントでdocument.addEventListenerを使用すると、フィードにレンダリングされる新しいアイテムをリスンすることができます。コールバックは、フィードアイテムかどうかを確認するために各ノードの挿入をチェックする必要があります。以下のようなものが動作するはずです。

function nodeInsertedCallback(event) { console.log(event); }); 
document.addEventListener('DOMNodeInserted', nodeInsertedCallback); 
関連する問題