Chrome拡張機能APIでウィンドウをアクティブにする

Google Chromeの拡張機能APIで任意のウィンドウをアクティブにするにはchrome.windows.updateを用いる。

jQueryのDeferredに対応させて実装させると次のような感じ。

function activateWindow(windowId) {
  var dfd = $.Deferred();
  chrome.windows.update(windowId, { focused : true }, function(win) {
    dfd.resolve();
  });
  return dfd.promise();
}

ただし、このままだとwindowIdが存在しないとエラーになってresolveされないので、windowIdは事前に確認したほうがいい。

あとtabがわかっているときはchrome.tabs.updateでできそうな気もするがこちらはウィンドウ内でタブをアクティブにすることしかできないので、上記のchrome.windows.updatetab.windowIdを渡して実行する必要がある。

参考

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です