• 締切済み

IE7でのwindow.close後のwindow.openについて

javascriptで、ボタンクリックでウィンドウを開くときに、同じ名前のウィンドウが既に開いていたら一回閉じで、開き直すというロジックを書いてます。 これはIE6では正常に動いているのですが、IE7になると、ウィンドウが閉じたまま、開き直さないで何も表示されなくなってしまいます。たまに開くときもあるのですが。 ボタンクリック後のコードを載せます。 ちゃんと開く方法はないでしょうか? function openwindow(){ var newWindow = window.open("test.html", "test"); if(newWindow.name == "test") { newWindow.close(); } oneScdWindow=window.open("test.html", "test"); }

みんなの回答

  • Dumper
  • ベストアンサー率28% (24/84)
回答No.1

私の方では問題の現象は出ませんが、この関数は ウィンドウがあってもなくても 一度開いて閉じてまた開いて という動作してますね。 そのせいでしょうかね? 新しくoneScdWindowを作ったりnameを参照する事が 書いてるスクリプト上必要ですか? <script type="text/javascript"> var newWindow; function openwindow() { if( newWindow && !newWindow.closed ){ newWindow.close() } newWindow = window.open("test.html", "test"); } </script>

HAWAI777
質問者

補足

そうなんです。 一度開きたいのです。 なぜかというと、その子ウィンドウでは、parent.opener を使っているからです。 子ウィンドウをそのままにして親ウィンドウを一度閉じてしまうと、 その子ウィンドウは親がわからなくなってしまうので、 一度開くようにしたのわけです。

関連するQ&A