Twitter Web サイトの一部を自動化するための chrome 拡張機能を作成しています。たとえば、ホームページをロードしてからトレンド/検索リンクをクリックすると、jQueryの「準備完了」またはDOMContentLoadedイベントが発生しません。ネットワーク トレースを見ると、次のページの html が ajax 経由で読み込まれていることがわかります。setInterval などで document.location を監視する以外に、これがいつ発生したかを検出したいと思います。
DOMNodeRemoved イベントを見てきましたが、削除されたノードに対して発生し、可能な解決策ですが、ページの変更だけでなく頻繁に発生し、ページが変更されたことを示す明確なインジケーターがないため、不器用です。
$("body").on("DOMNodeRemoved", function(evt) {
console.log(evt.target, evt, this);
});
アドレスバーが変更されると、Twitter は pushState で場所を更新すると思います。場所が変わると何かイベントはありますか?または、具体的に pushState で変更するときは?
ajax 呼び出しは jQuery のモードではないため、jQuery グローバル イベントでそれをフックすることはできません。XMLHttpRequest リクエストを検出することは可能ですか?
ページの変更をキャプチャする良い方法は何ですか?