0

マスター ページといくつかの子ページがあります。そのうちの 1 つは、window.open 関数によるポップアップです。問題は、マスター ページでログアウトをクリックしたときに発生します。その子をクリックすると、ポップアップ ウィンドウを除いて、システム全体がログイン ページにリダイレクトされます。 -page その後、ログイン ページにリダイレクトされます。ログアウトを押した直後に閉じる必要があります。

ウィンドウの場所がわかっている場合にウィンドウを閉じるスクリプトはありますか? ログアウト クリックでその子ページを閉じたいです。window.close('Authentication.aspx'); のように 可能であれば教えてください

ありがとう、ラケシュ。

4

1 に答える 1

1

次のコードを使用してポップアップ ウィンドウを開いた場合、想定される名前は「popupwindow」です...

window.open("myurl.html", "popupwindow", "height, etc");

次に、ログインページで次のJavaScriptを試してください

if(window.name=="popupwindow"){
  window.close();
}

OPのコメントに基づいて更新...

ウィンドウへの参照がなくなった場合 (たとえば、親ウィンドウが更新されたため)、特定の名前のポップアップ ウィンドウが存在するかどうかを検出することはほとんど不可能だと思います。

この状況での 1 つのオプションは、空白の URL を指定してウィンドウを再度開くことです。ウィンドウが既に存在する場合、ウィンドウは以前と同じページに残りますが、これでそのウィンドウへの参照ができ、必要に応じて閉じることができます。

var myWin = window.open("","popupwindow");
myWin.close();

ただし、これの欠点は、ウィンドウが存在しない場合、空白のウィンドウが開いてから閉じられることです。そのため、ユーザー エクスペリエンスは良くありません。

于 2012-08-29T10:36:35.427 に答える