chrome拡張機能のpopup上のボタンを押したときに、何らかのページ(hoge.html)を開いてから自身(popup.html)を閉じる方法を調てみた。
<!-- 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を閉じる処理を書かなくても自動で閉じた。
function func() { window.open("hoge.html"); // popupを閉じる処理は書かなくてよい }
明示的に閉じる必要がある方法
hoge.htmlを開くときにchrome.tabs.create()
を用いた場合は、popup画面を閉じるために、コールバック関数内でwindow.close()
を実行する必要があった。
function func() { chrome.tabs.create({url: "hoge.html"}, function() { window.close(); // popupを閉じる処理 }); }