web-dev-qa-db-ja.com

ポップアップウィンドウを閉じる

このコードを使用して開くポップアップウィンドウがあります。

function _openpageview(fieldid,objectid,opennew)
{
var url='/s_viewpagefield.jsp?fieldid='+fieldid+'&codedid='+objectid;

  web_window = window.open(url,'_blank', 'menubar=yes,location=no,scrollbars=yes,width=800,height=600,status=no,resizable=yes,top=0,left=0,dependent=yes,alwaysRaised=yes');
   web_window.opener = window;
   web_window.focus();


}

ポップアップ内からそのポップアップを閉じるにはどうすればよいですか?

window.close();
self.close();
web_window.close();

すべてうまくいきませんでした

13
Drew

古いヒント...

var daddy = window.self;
daddy.opener = window.self;
daddy.close();
25
molokoloco

Javascriptを使用して開いたjavascriptを使用して、つまり、ウィンドウを開いたときにのみ、ウィンドウを閉じることができます:

window.open

それから

window.close

働くでしょう。またはそうではありません。

7
koma

このように一見単純なことの場合、これはお尻の王室の痛みになる可能性があります!きれいに機能するソリューションを見つけました(class = "video-close"は明らかにこのボタンに特有であり、オプションです)

 <a href="javascript:window.open('','_self').close();" class="video-close">Close this window</a>
2
Kevin Fisher

ウィンドウを閉じようとしたときに、web_window変数がスコープ外になっている必要があります。次の行を_openpageview関数に追加してテストします。

setTimeout(function(){web_window.close();},1000);
2
ic3b3rg

これを試して

  if(false == web_window.closed)
  {
     web_window.close ();
  }
0
Srinivas

私の場合、setTimeout + self.close()を含むいくつかのハックで試したがIEでメッセージを読んだ後に「ok」をクリックすると、ポップアップを閉じてユーザーをプロフィールページにリダイレクトする必要がありました。 、これはタブ全体を閉じていました...

解決策:リンクを単純な送信ボタンに置​​き換えました。
<button type="submit" onclick="window.location.href='profile.html';">buttonText</button>。これ以上何もない。

これは馬鹿げているように聞こえるかもしれませんが、ポップアップにフォームがなかったため、このような単純な解決策は考えませんでした。

私のようなフロントエンド初心者の助けになることを願っています!

0
Balmipour