window.open開いているウィンドウを閉じる方法

DDD
リリース: 2023-12-06 14:15:30
オリジナル
1780 人が閲覧しました

開いたウィンドウを閉じる方法: 1. "window.close" を使用して新しいウィンドウを閉じる; 2. "window.location" を使用してリダイレクト; 3. "window.blur" および "window.close" を使用する。 focus" ; 4. ロールバックするには、"window.history" を使用します。 5. "window.opener" を使用します。

window.open は、新しいウィンドウまたはタブを開く JavaScript の関数です。ただし、ブラウザのセキュリティ制限のため、新しいウィンドウやタブから元のウィンドウやタブに直接戻ったり、新しいウィンドウやタブを直接閉じることはできません。これは、悪意のあるスクリプトがユーザーの知らないうちにウィンドウやタブを閉じることを防ぐためです。

ただし、新しいウィンドウやタブを間接的に閉じる方法があります。考えられる方法はいくつかあります:

1. window.close を使用して新しいウィンドウを閉じます

window.open で開いた新しいウィンドウを直接閉じることはできませんが、新しいウィンドウで window.close 関数を呼び出してウィンドウを閉じることができます。例:

window.open('https://www.example.com', '_blank');  
// 在新窗口中...  
window.close();
ログイン後にコピー

window.open で開かれたウィンドウのみを閉じることができることに注意してください。ブラウザでは通常、スクリプトによって開かれていないウィンドウをスクリプトが閉じることは許可されません。さらに、スクリプトがウィンドウのサンドボックス環境内で実行されるか、ウィンドウが window.open 経由で開かれない限り、ブラウザーはスクリプトが window.close を含むウィンドウを閉じることを妨げる場合があります。

2. window.location リダイレクトを使用する

新しいウィンドウのアドレス バーに新しい URL を入力することで、新しいページにリダイレクトできます。新しい窓。例:

window.open('https://www.example.com', '_blank');  
// 在新窗口中...  
window.location = 'https://www.example2.com';
ログイン後にコピー

この例では、新しいウィンドウは新しい URL にリダイレクトされ、それによって間接的に元のウィンドウが閉じられます。この方法では、ブラウザのフォーカスが変更されるため、ユーザーにとって不快なエクスペリエンスが生じる可能性があることに注意してください。

3. window.blur と window.focus の使用

新しいウィンドウのフォーカスを失ってからフォーカスを取り戻すと、ウィンドウが閉じる可能性があります。例:

window.open('https://www.example.com', '_blank');  
// 在新窗口中...  
window.blur();  // 失去焦点  
setTimeout(function() {  
    window.focus();  // 重新获得焦点  
}, 0);
ログイン後にコピー

ブラウザの実装はさまざまであるため、このアプローチは常に機能するとは限りません。さらに、このアプローチではブラウザーのフォーカスが変更されるため、ユーザーにとって不快なエクスペリエンスが生じる可能性があります。

4. window.history を使用して戻る

window.history オブジェクトの back() メソッドを使用して、前の履歴に戻ることができます。エントリ。これにより、新しいウィンドウまたはタブが閉じられる場合があります。例:

window.open('https://www.example.com', '_blank');  
// 在新窗口中...  
window.history.back();
ログイン後にコピー

この方法ではブラウザの履歴が変更されるため、ユーザーに不快なエクスペリエンスをもたらす可能性があることに注意してください。さらに、ブラウザの実装は異なる場合があるため、このアプローチは常に機能するとは限りません。

5. window.opener を使用する

新しいウィンドウで開いた場合は、window.opener プロパティを使用して元のウィンドウにアクセスできます。その後、元のウィンドウで window.close() を呼び出して、新しいウィンドウを閉じることができます。例:

元のウィンドウの場合:

var newWindow = window.open('https://www.example.com', '_blank');  
// 在新窗口中...  
newWindow.close();  // 关闭新窗口
ログイン後にコピー

この方法では、ユーザーが新しいウィンドウを手動で閉じる必要があるため、ユーザーのエクスペリエンスが悪化する可能性があることに注意してください。さらに、ブラウザのセキュリティ制限により、この方法が常に機能するとは限りません。

以上がwindow.open開いているウィンドウを閉じる方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!