web-dev-qa-db-ja.com

現在のタブを閉じる

Webページに近いリンクがあります。クリックしたときに現在のタブを閉じるように機能させたいと思います。私は書いた

<a href="#" onclick = "javascript:self.close();">close</a>

上記のコードはInternet Explorerでうまく機能しているようです。ただし、Mozilla FirefoxおよびGoogle Chromeでは動作しません。これを解決するのを手伝ってください。

28
uvinod

自分で作成したウィンドウ/タブのみを閉じることができます。つまり、ユーザーが作成したウィンドウ/タブをプログラムで閉じることはできません。

たとえば、window.open()でウィンドウを作成する場合、window.close()でウィンドウを閉じることができます。

33
Brian Ustas

Chrome 46の時点で、単純なonclick=window.close()がトリックを行います。これは、複数のタブが開かれている場合、ブラウザー全体ではなく、タブのみを閉じます。

5
Adam M

以下のJavaScriptを使用できます。

window.open('','_self').close();

HTMLでは、以下のコードを使用できます

<a href="javascript:close_window();">close</a>

私はこれをChrome 61およびIE11で試しました。しかし、これはFirefox 57では動作しません。Firefoxでは、以下のコマンドを使用して開いたウィンドウのみを閉じることができます。

window.open()
1

Chrome 66 from: http://www.yournewdesigner.com/css-experiments/javascript-window-close-firefox.html で動作するワンライナーを見つけました=

TLDR:JavaScirptが現在のタブ/ウィンドウを開いたと信じるようにブラウザをだます

window.open('', '_parent', '').close();

完全を期すために

<input type="button" name="close" value="close" onclick="window.close();">

ただし、Firefox 59は上記では機能しないため、ブラウザーがこのようなトリックを必要とする指紋を作成する機能にこれを配置することもできます。

0
S0AndS0