SakuraWi - BLog

WEBエンジニア。聴いたお話をまとめておく倉庫的な。スタックストックスタック!

【Chrome拡張】新規タブの読み込み完了をフックさせる方法


【Chrome拡張】の開発についての記事です。

タブが作成された時に、読み込み完了をさせてから処理を書きたい時の方法を書きます。

結論のコードから先にのせておきます。

chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab){
  console.log("created tabs and update");
  if (changeInfo.status === 'complete') {
    console.log("status is complete");

    // 処理
  }
}

どうも、chrome.tabsには、読み込み時の loadingというステータスと、completeというスタータスが存在するようです。

なので、タブが作られたときには処理が2回走ります。

で、onUpdatedの時の、changeInfo.statusの中身をみてやればよいみたいです。

上記のコードでは console.logで確かめられるようにしてます。

実際にタブを開いてみたら、わかると思います。

consoleの吐き出しの見方はこの記事をみてください。

https://sakurawi.hateblo.jp/entry/check-background

参考

https://groups.google.com/forum/#!topic/chrome-api-developers-jp/LxMOHwhIl98

http://kenzauros.com/blog/event-listener-templates-of-tabs-in-chrome-extension-api/