【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/