ここで注意したいのは、Chrome Extension APIで多用されるコールバック関数の処理がちゃんと終了してからwindow.close() を呼ぶ必要があるということだ。そうしないと、ブラウザがクラッシュすることさえあるようだ。
たとえば、Webページをタブに開いた後で、popup.htmlを閉じる場合は、次のようにコールバック関数の中でwindow.close() を実行する必要がある。
chrome.tabs.create( {"url": "http://bit.ly/oiWu31"}, function(tab) { window.close(); } );一挙にショッピング検索でやっているように、複数のタブを開く場合は、すべてのタブが開いたことを確認した後で、window.close() を呼ぶ必要がある。これには、setInterval() を使うことになるだろう。