新しいタブが開いてページを読み込むたびに通知されるクロム拡張機能をビルドしています。そのためにchrome.tabs.onUpdatedイベントを使用しています。Chrome拡張タブonUpdatedイベント
問題は、一部のドメイン(srcを持つ)でホストされているページ/タブにiframeが挿入されている場合、onUpdatedイベントがトリガーされてしまうことです。これらのイベントを「実際の」タブ負荷とiframe負荷のためにトリガーされたものから区別する方法はありますか?
新しいタブが開いてページを読み込むたびに通知されるクロム拡張機能をビルドしています。そのためにchrome.tabs.onUpdatedイベントを使用しています。Chrome拡張タブonUpdatedイベント
問題は、一部のドメイン(srcを持つ)でホストされているページ/タブにiframeが挿入されている場合、onUpdatedイベントがトリガーされてしまうことです。これらのイベントを「実際の」タブ負荷とiframe負荷のためにトリガーされたものから区別する方法はありますか?
tabs.onUpdated
は、状態がloading
からcomplete
に変更されたときにトリガーします。おそらく、iframeを挿入すると、タブはloading
の状態に再びなります。
details.url
がonUpdated
リスナーに定義されているかどうかを確認できます。そうでない場合は、ドキュメントのURLが変更されていないことがわかります。
おそらくwebNavigation
APIを目的に使用する必要があります。そこには、TransitionQualifier
があり、これを使用してサブフレームのナビゲーションをフィルタリングできます。
iframeで作成されたナビゲーションとは別の通常のナビゲーションにTransitionQualifierを使用する方法がわかりませんが(何か不足している可能性があります)、TransitionTypeには、ユーザーがいなくても子フレームが自動的にナビゲーションをトリガーする場合の "auto_subframe"この問題を解決することができます。多分あなたはこれを念頭に置いていたでしょう。とにかく、ありがとう! – slickman