93

[このウィンドウを閉じますか?] プロンプトを表示せずにブラウザー ウィンドウを閉じるにはどうすればよいですか?

関数を使用するとプロンプトが表示されwindow.close();ます。

4

18 に答える 18

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

これは私にとってはうまくいきます。

于 2010-04-28T14:57:49.010 に答える
58

私の友人...方法はありますが、「ハック」はそれを説明し始めていません。基本的に、IE 6 & 7 のバグを悪用する必要があります。

いつでも活躍!

を呼び出す代わりにwindow.close()、別のページにリダイレクトします。

オープニングページ:

alert("No whammies!");
window.open("closer.htm", '_self');

別のページにリダイレクトします。これにより、IE がだまされて、このページでブラウザを閉じることができます。

最後のページ:

<script type="text/javascript">
    window.close();
</script>

すごいでしょ!?

于 2009-09-11T16:54:15.170 に答える
11

body タグ内:

<body onload="window.open('', '_self', '');">

ウィンドウを閉じるには:

<a href="javascript:window.close();">

Safari 4.0.5、Mac 3.6 の FF、IE 8.0、および Windows 3.5 の FF でテスト済み

于 2010-12-13T18:42:05.560 に答える
6

IE ではセキュリティが強化されているため、スクリプトによって開かれない限り、ウィンドウを閉じることはできません。したがって、これを回避するには、このページがスクリプトを使用して開かれているとブラウザに認識させてから、ウィンドウを閉じます。以下、実装です。

これを試してみてください、それは魅力のように機能します!
javascriptプロンプトなしで現在のウィンドウを閉じるIE

<script type="text/javascript">
function closeWP() {
 var Browser = navigator.appName;
 var indexB = Browser.indexOf('Explorer');

 if (indexB > 0) {
    var indexV = navigator.userAgent.indexOf('MSIE') + 5;
    var Version = navigator.userAgent.substring(indexV, indexV + 1);

    if (Version >= 7) {
        window.open('', '_self', '');
        window.close();
    }
    else if (Version == 6) {
        window.opener = null;
        window.close();
    }
    else {
        window.opener = '';
        window.close();
    }

 }
else {
    window.close();
 }
}
</script>

javascriptプロンプトなしで現在のウィンドウを閉じるIE

于 2013-09-18T04:40:39.437 に答える
6

ここから:

<a href="javascript:window.opener='x';window.close();">Close</a>

何かを設定する必要がありますwindow.opener。そうしないと、文句を言います。

于 2008-09-11T23:04:05.290 に答える
2

JavaScript 関数を作成する

<script type="text/javascript">
    function closeme() {
        window.open('', '_self', '');
        window.close();
    }
</script>

このコードを記述して、上記の JavaScript 関数を呼び出します

<a href="Help.aspx" target="_blank" onclick="closeme();">Help</a>

または単に:

<a href="" onclick="closeme();">close</a>
于 2012-12-17T12:30:51.830 に答える
2

これはうまくいきます:

<script type="text/javascript">
function closeWindowNoPrompt()
{
window.open('', '_parent', '');
window.close();
}
</script>
于 2016-02-11T09:50:36.053 に答える
2
window.opener=window;
window.close();
于 2009-04-03T09:35:44.497 に答える
0

JavaScript で開いていないウィンドウを閉じるために JavaScript を使用しているため、ブラウザーは不平を言っていますwindow.open('foo.html');

于 2008-09-11T23:05:47.547 に答える
0

次のコードを ASPX に配置します。

<script language=javascript>
function CloseWindow() 
{
    window.open('', '_self', '');
    window.close();
}
</script>

次のコードをコード ビハインド ボタン クリック イベントに配置します。

string myclosescript = "<script language='javascript' type='text/javascript'>CloseWindow();</script>";

Page.ClientScript.RegisterStartupScript(GetType(), "myclosescript", myclosescript);

閉じる前に処理を行わない場合は、次のコードを ASPX 自体のボタン クリック タグに直接配置できます。

OnClientClick="CloseWindow();"

お役に立てれば。

于 2014-11-11T11:44:23.460 に答える
-2

私が見つけた最良の解決策は次のとおりです。

this.focus();
self.opener=this;
self.close();
于 2008-09-11T23:00:21.320 に答える
-3

これは私が現在自分のサイトで使用しているものであり、ポップアップ メッセージを受信することなく Google Chrome と IE 10 の両方で動作するため、これを投稿します。

<html>
    <head>
    </head>
    <body onload="window.close();">
    </body>
</html>

新しいページに直接移動せずにオン/オフ変数をセッションに保存するために実行したい関数が自分のサイトにあるので、小さなポップアップ Web ページを開くだけです。そのWebページは、onload="window.close();"関数ですぐに閉じます。

于 2015-10-08T14:23:06.943 に答える