私はChrome拡張機能を持っていますが、これはようやく更新に取り掛かっています[6か月以上]。
マニフェストのバージョンを1から2にアップグレードするプロセスを実行しました。
私の拡張機能はFacebookに「すべてを突く」ボタンを追加するので、すべての人を個別に突く必要はありません。
問題は、彼らがホームページのフレームではなく、facebook.com/pokesにポークを移動したことです。
したがって、私の回避策は、/ pokesにアクセスしたらページをリロードするようにユーザーに指示することでした。そうすれば、スクリプトがリロードされ、[PokeAll]ボタンが挿入されます。ここで、これを修正して、ユーザーがfacebook.comにアクセスし、[ポーク]をクリックして、ポークが読み込まれると、ボタンが自動的に表示されるようにします。setTimeoutを1.5秒間設定しましたが、接続が遅い場合は1.5秒では不十分であり、スクリプトがボタンの挿入を早すぎるため、ボタンが表示されません。
つまり、基本的に、「ポーク」リンクにイベントリスナーを追加します。show_pokes()
これが、インジェクションコードを実行する実行用のタイムアウトを追加したものです。
$(document).ready()
私の考えは内部 に入れるshow_pokes()
ことでしたが、それが関数で継続されなかったため、それは機能しませんでした。私$(document).ready()
は最初のページの読み込みのためだけだと思いますか?だから私は試しました
document.addEventListener('DOMContentLoaded', function (){ /*huge chunk of code here*/ })
しかし、それもハングし、機能を終了することはありませんでした。
したがって、FacebookのタブをクリックするとFacebookがAJAXリクエストを使用することは間違いありません[こちらをご覧ください]。AJAXが終了するまで待機するイベントを設定できれば、それを関数に続行して、ボタン?助けていただければ幸いです。さらにコードや詳細が必要な場合は、お知らせください。または、Facebookにアクセスして、それらのタブがどのように読み込まれるかを確認できる場合は、[AJAXを使用しているかどうかを確認または拒否する]ことも非常に役立ちます。