現在開いているタブを閉じる

TL;DR

  • 現在のタブを閉じるアクションでwindow.open('about:blank','_self').close(); を実行する

現在のタブを閉じる

シンプルに考えるとwindow.close();で動きそうです.
ただ、この方法で動かない場合は「開いているウィンドウに対して新しいウィンドウ(ドキュメント)を開き、それを閉じる」という方法が取れます.

window.open('about:blank','_self').close();

window.open関数

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)

と書いてあるので、この値で間違いなさそうです.

後は、自身でタブを開き直して自分で閉じるで意図した挙動になりますね.