chrome.tags.getでエラーが出るので、onRemovedで先にチェックする
http://code.google.com/chrome/extensions/tabs.html
chrome.tabs.get(tab.id ,function(tab){
if( typeof(tab)===’undefined’){
// not found
}else{
}
});
if( typeof(tab)===’undefined’){
// not found
}else{
}
});
Error during tabs.get: No tab with id: 2187. sendRequest:20
chromeHidden.handleResponse
chromeHidden.handleResponse
undefinedの時は、タブが無いということで問題なく処理出来るのですが、(例外にもなりません。)
consoleにメッセージがでるので、先に使えないIDをチェックします。
grBk.tabsに適当なタブのオブジェクトが入っていてtab.idでタブのIDを保持しています。
chrome.tabs.onRemoved.addListener(function( tabId, removeInfo) { // check active tab
for( i in grBk.tabs ){
if( grBk.tabs[i].tab &&
grBk.tabs[i].tab.id &&
grBk.tabs[i].tab.id == tabId ){
grBk.tabs[i].tab = null;
console.log( ‘removed ‘+i+’ : ‘+tabId );
}
}
};
for( i in grBk.tabs ){
if( grBk.tabs[i].tab &&
grBk.tabs[i].tab.id &&
grBk.tabs[i].tab.id == tabId ){
grBk.tabs[i].tab = null;
console.log( ‘removed ‘+i+’ : ‘+tabId );
}
}
};