TL;DR
- 現在のタブを閉じるアクションで
window.open('about:blank','_self').close();
を実行する
現在のタブを閉じる
シンプルに考えるとwindow.close();
で動きそうです.
ただ、この方法で動かない場合は「開いているウィンドウに対して新しいウィンドウ(ドキュメント)を開き、それを閉じる」という方法が取れます.
window.open('about:blank','_self').close();
window.open関数
window.open関数の仕様を見てみます.
第1引数はURL、第2引数はウィンドウ名です.
URLは適当なもので良いとして、ウィンドウ名をどうすれば現在開いているタブを指定できるでしょうか.
このウィンドウ名に指定できる値は、実は気づかないうちにaタグのtarget属性に指定することが多い値です.
では、このtarget属性に指定できる値で、現在開いているタブを表現する値がないかを確認してみます.
Anchor target Propertyを見ていくと、
お馴染みの_blank
があったり、全く馴染みのない値もあるかと思います.
今回探しているのは「現在開いているタブを表現する値」なので_self
が該当しそうです.
_self
の説明を見てみると、
Opens the linked document in the same frame as it was clicked (this is default)
と書いてあるので、この値で間違いなさそうです.
後は、自身でタブを開き直して自分で閉じるで意図した挙動になりますね.