このコードを使用して開くポップアップウィンドウがあります。
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();
すべてうまくいきませんでした
古いヒント...
var daddy = window.self;
daddy.opener = window.self;
daddy.close();
Javascriptを使用して開いたjavascriptを使用して、つまり、ウィンドウを開いたときにのみ、ウィンドウを閉じることができます:
window.open
それから
window.close
働くでしょう。またはそうではありません。
このように一見単純なことの場合、これはお尻の王室の痛みになる可能性があります!きれいに機能するソリューションを見つけました(class = "video-close"は明らかにこのボタンに特有であり、オプションです)
<a href="javascript:window.open('','_self').close();" class="video-close">Close this window</a>
ウィンドウを閉じようとしたときに、web_window変数がスコープ外になっている必要があります。次の行を_openpageview関数に追加してテストします。
setTimeout(function(){web_window.close();},1000);
これを試して
if(false == web_window.closed)
{
web_window.close ();
}
私の場合、setTimeout + self.close()を含むいくつかのハックで試したがIEでメッセージを読んだ後に「ok」をクリックすると、ポップアップを閉じてユーザーをプロフィールページにリダイレクトする必要がありました。 、これはタブ全体を閉じていました...
解決策:リンクを単純な送信ボタンに置き換えました。<button type="submit" onclick="window.location.href='profile.html';">buttonText</button>
。これ以上何もない。
これは馬鹿げているように聞こえるかもしれませんが、ポップアップにフォームがなかったため、このような単純な解決策は考えませんでした。
私のようなフロントエンド初心者の助けになることを願っています!