このウィンドウを閉じますか?プロンプトを受け取らずにブラウザウィンドウを閉じるにはどうすればよいですか?
window.close();
関数を使用するとプロンプトが表示されます。
このウィンドウを閉じますか?プロンプトを受け取らずにブラウザウィンドウを閉じるにはどうすればよいですか?
window.close();
関数を使用するとプロンプトが表示されます。
回答:
window.open('', '_self', ''); window.close();
これは私にとってはうまくいきます。
showModalDialog
か?IE10では機能しません
私の友人...方法はありますが、「ハック」はそれを説明し始めません。基本的に、IE6および7のバグを悪用する必要があります。
毎回動作します!
を呼び出す代わりにwindow.close()
、別のページにリダイレクトします。
オープニングページ:
alert("No whammies!");
window.open("closer.htm", '_self');
別のページにリダイレクトします。これはIEをだまして、このページのブラウザを閉じさせます。
クロージングページ:
<script type="text/javascript">
window.close();
</script>
すごいね!
スクリプトは、ユーザーが開いたウィンドウを閉じることはできません。これはセキュリティリスクと見なされます。標準にはありませんが、すべてのブラウザベンダーがこれに従います(Mozilla docs)。一部のブラウザでこれが発生した場合、(理想的には)非常に迅速にパッチが適用されるのはセキュリティバグです。
この質問に対する回答のハックはいずれも機能しなくなり、誰かが別のダーティハックを思いついた場合、最終的には機能しなくなります。
これと戦うためにエネルギーを無駄にせず、ブラウザが非常に役立つ方法を採用することをお勧めします。ページがクラッシュする前に、ユーザーに尋ねてください。
これは、プロンプトや警告なしでブラウザを閉じるために使用するJavascript関数です。これは、Flashから呼び出すこともできます。それはhtmlファイルにあるべきです。
function closeWindows() {
var browserName = navigator.appName;
var browserVer = parseInt(navigator.appVersion);
//alert(browserName + " : "+browserVer);
//document.getElementById("flashContent").innerHTML = "<br> <font face='Arial' color='blue' size='2'><b> You have been logged out of the Game. Please Close Your Browser Window.</b></font>";
if(browserName == "Microsoft Internet Explorer"){
var ie7 = (document.all && !window.opera && window.XMLHttpRequest) ? true : false;
if (ie7)
{
//This method is required to close a window without any prompt for IE7 & greater versions.
window.open('','_parent','');
window.close();
}
else
{
//This method is required to close a window without any prompt for IE6
this.focus();
self.opener = this;
self.close();
}
}else{
//For NON-IE Browsers except Firefox which doesnt support Auto Close
try{
this.focus();
self.opener = this;
self.close();
}
catch(e){
}
try{
window.open('','_self','');
window.close();
}
catch(e){
}
}
}
showModalDialog
。でcloseWindows
、前のウィンドウが開いている間に新しいウィンドウ(同じページ)が開きます。
これは、Chrome 26、Internet Explorer 9、Safari 5.1.7で機能します(ヘルパーページを使用せずに、Ala Nickの回答):
<script type="text/javascript">
window.open('javascript:window.open("", "_self", "");window.close();', '_self');
</script>
ネストされているのwindow.open
は、IEに「このウィンドウを閉じますか」というプロンプトが表示されないようにするためです。
残念ながら、Firefoxでウィンドウを閉じることはできません。
bodyタグ内:
<body onload="window.open('', '_self', '');">
ウィンドウを閉じるには:
<a href="javascript:window.close();">
Safari 4.0.5、Mac 3.6のFF、IE 8.0、およびWindows3.5のFFでテスト済み
セキュリティ上の理由から、ウィンドウはJavaScriptで開かれた場合にのみJavaScriptで閉じることができます。ウィンドウを閉じるには_self
、ターゲットとして新しいウィンドウを開く必要があります。これにより、現在のウィンドウが上書きされ、そのウィンドウが閉じられます(JavaScriptで開いたために実行できます)。
window.open('', '_self', '');
window.close();
ここから:
<a href="javascript:window.opener='x';window.close();">Close</a>
あなたはwindow.opener
何かに設定する必要があります、さもなければそれは文句を言います。
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>
これは機能します:
<script type="text/javascript">
function closeWindowNoPrompt()
{
window.open('', '_parent', '');
window.close();
}
</script>
次のコードを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();"
お役に立てれば。
私の状況では、次のコードがphpファイルに埋め込まれていました。
var PreventExitPop = true;
function ExitPop() {
if (PreventExitPop != false) {
return "Hold your horses! \n\nTake the time to reserve your place.Registrations might become paid or closed completely to newcomers!"
}
}
window.onbeforeunload = ExitPop;
だから私はコンソールを開いて次のように書いた
PreventExitPop = false
これで問題は解決しました。したがって、JavaScriptコードを見つけて変数を見つけ、それらを適切な「値」(私の場合は「false」)に割り当てます。
これは私が現在私のサイトで使用しているものであり、ポップアップメッセージを受信せずにGoogleChromeとIE10の両方で機能するため、これを投稿します。
<html>
<head>
</head>
<body onload="window.close();">
</body>
</html>
自分のサイトに、新しいページに直接移動せずにオン/オフ変数をセッションに保存するために実行したい関数があるので、小さなポップアップWebページを開くだけです。そのWebページは、onload="window.close();"
関数を使用してすぐに閉じます。
a
withtarget=_blank
を使用して特定のURLで小さなポップアップウィンドウを開き、最後にJSを使用してウィンドウを閉じています。目的は、特定のURLがセッションに値を保存して背景画像を無効にすることですが、ajaxの実行方法がわかったら、すぐにajaxを優先して削除します。(まだロープの説教を学んでいます)
window.open('','_self').close()