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を閉じる処理
});
}