Googleページではコンテンツが動的に読み込まれるため、MutationObserverまたはsetTimerコールバックで要素を監視する必要があります。または、ページがその更新を通知するために使用するイベントを見つける必要があります。多くのサイトではmessage
イベントを使用していますので、それをフックしましょう。
content.js:
// process current DOM, most probably nothing useful at this point
onGoogleSearchUpdated();
// listen to "sr" signal emitted by Google search page
window.addEventListener('message', function(e) {
console.log(e.data, e);
if (typeof e.data === 'object' && e.data.type === 'sr') {
onGoogleSearchUpdated();
}
});
function onGoogleSearchUpdated() {
console.log('Removed:', $('.g').remove());
}
動的にロードされたWebページの正確な信号名を検出するための、オープンデベロッパーツール(F12)コンソールおよびクエリー入力ボックスに検索を行い、その後、window.addEventListener('message', console.log)
を実行し、コンソールに表示されるイベントを見て、あなたに役立つイベントを探してみてください。
あなたの 'manifest.json'はどうですか? jqueryを注入しましたか? 「クローム開発者コンソールを開いていない限り、F12ツールで上記のコードを実行することを意味しますか?詳細をご記入ください。 –