タブを左右に移動する
ChromeExtensionにおいてタブを左右に移動するためのスクリプトを書いてみた
//isAbsoluteがfalseのときは現在のタブから相対的にtabNum個分だけ右に移動する //isAbsoluteがtrueのときは一番左から1,2,3、…、と数えた場合のtabNum個目のタブを選択する function selectTab(tabNum,isAbsolute){ chrome.tabs.getAllInWindow(null, function(tabs) { if(tabs.length<=1) return; var toSelect; if(isAbsolute){ if(tabNum>tabs.length) return; toSelect = tabs[tabNum]; }else{ for (var i = 0; i < tabs.length; i++) { if (tabs[i].selected) { var toSelect = tabs[(i + tabNum) % tabs.length]; chrome.tabs.update(toSelect.id, { selected: true }); break; } } } }); } function goRightTab(sender){ selectTab(1,false); window.alert("goRightTab()"); } function goLeftTab(sender){ selectTab(-1,false); window.alert("goLeftTab()"); }
これは自分が使っているExtensionの一つであるVIMUMのソースコードを参考にした
https://chrome.google.com/extensions/detail/dbepggeogbaibhgnhhndojpepiihcmeb
ちなみにこのコードはbackgroundページに書く必要がある(Contentscriptからはchrome.tabs.*を呼び出すことはできない)