LoginSignup
8
7

More than 5 years have passed since last update.

chrome拡張機能のpopup画面を閉じる方法

Posted at

popup上のボタンを押したときに、何らかのページ(hoge.html)を開いてから自身(popup.html)を閉じる方法を調てみた。
(chrome バージョン 32.0.1700.68 beta-m で確認した)

popup.html
<button id="btn">hoge.htmlを開いてこの画面を閉じる</button>
popup.js
document.getElementById("btn").addEventListener("click", func, false);

popupの閉じ方は、ページ(hoge.html)を開くときの方法によって異なることがわかった。

特に何もしなくても自動で閉じる方法

hoge.htmlを開くときに、window.open()を使用すればよい。
window.open()を使うと、hoge.htmlを開いた後のpopupを閉じる処理を書かなくても自動で閉じた。

func
function func() {
   window.open("hoge.html");
   // popupを閉じる処理は書かなくてよい
}

明示的に閉じる必要がある方法

hoge.htmlを開くときにchrome.tabs.create()を用いた場合は、popup画面を閉じるために、コールバック関数内でwindow.close()を実行する必要があった。

func
function func() {
   chrome.tabs.create({url: "hoge.html"}, function() {
       window.close();  // popupを閉じる処理
   });
}
8
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
7