• 締切済み

同じウインドが複数起動されてしまうんです。

あるページを読込んだときに <boby>タグのonloadを利用して別ウインドを起動して違うサイトのページ を表示するようなことをしています。 <SCRIPT LANGUAGE="javascript"> <!-- function searchopen() { WinD=window.open ('http://www.msn.co.jp/','subWin1','width=300,height=300); } <body bgcolor="#FFFFFF" onload=searchopen()> このような記述をした場合、その親ページをリロードや他ページから戻って くるなどするとIE4.Xだと、既に別ウインドがオープンされているのに また新しい別ウインドで同じものを表示してしまいます。 (window.openで指定しているnameのウインドがクローズしていると認識 されてしまう) ただ、NS4.Xでは正しくオープンされていることを認識して新たにウインド は起動されません。 IE4.XでもNSと同じように別ウインドが起動されない方法はないのでしょうか? それとも、IEの障害なのでしょうか? どなたかご存知の方がいれば教えて下さい。

みんなの回答

  • atsuota
  • ベストアンサー率33% (53/157)
回答No.1

質問に記載されたソースには、あきらかな不備がありましたので、 下記のように修正してテストしてみましたが… ちゃんと期待通りに動きますよ? <html> <head> <SCRIPT LANGUAGE="javascript"> <!-- function searchopen() { WinD=window.open ('http://www.msn.co.jp/','subWin1','width=300,height=300'); } //--> </script> </head> <body bgcolor="#FFFFFF" onload="searchopen()"> <a href="http://www.goo.ne.jp/">ジャンプ</a> </body> </html>

関連するQ&A

  • 複数別ウィンドウを開いた場合

    <a href="sub.html" onClick="window.open('sub.html','subwin','width=300,height=300,left=0,top=0'); return false;">開く</a> のリンクから別ウィンドウを開き、 また違うリンクを上記のソースの方法で開いた場合、IEでは、下のタスクバーにしまったままで画面が出てきません。この対処方法はありますでしょうか? どなたか教えていただけないでしょうか?

  • POST送信を別ウインドで行いたいのですが・・

    POST送信を別ウインド(タブ)で行いたかったので、 以下のようにしました。 <form action="test.php" name="form1" method="post" target="tar1" onsubmit="window.open('','tar1')"> <input type="hidden" name="test" value="abcdefg"> </form> <a href="" onclick="document.form1.submit();return false">POST送信</a> 右クリック、マウスホイールクリックした場合に、 IE8の場合は新ウインドが開き、FireFoxの場合は新タブで開くようになりました。 この挙動の差については特に問題ありません。 (現在の画面と別画面で行えればいいので) 問題は、リンクを右クリックしての「新しいタブで開く」「新しいウインドで開く」を選んだ場合です。 この場合では、「<a href="" 」の部分をリンクとして認識してしまうようで、 同じページが表示されてしまいます。 かといって、href="test.php"としておいてもPOSTデータが無しになってしまいます。 POST送信を別ウインドで行わせたい場合に、以下操作を満たせるやり方はありますでしょうか。 ・リンクを右クリック、マウスホイールクリック ・リンクを右クリックしての「新しいタブで開く」「新しいウインドで開く」選択

  • クリックするとウィンドが閉じてしまいます。

    あるホームページで次のコンテンツに進むためのボタンをクリックするとその ウィンドは閉じてしまい、閉じる前に表示されていたページが他に開いていたウィンド(この時は3つありました)で勝手に表示されてしまいました。 ソースを見てみたのですが知らないタグで構成されていてどういう意味なのかわかりませんでした。 おわかりになるかた教えて下さいませんか?よろしくお願いします。 <BUTTON onClick="for(i=0;i<0;i++){window.parent.moveBy(-i,i)};for(j=0;j<1;j++){for(i=0;i<100;i++){window.parent.moveBy(0,-i)};for(i=0;i<100;i++){window.parent.moveBy(i,0)};for(i=0;i<100;i++){window.parent.moveBy(0,i)};for(i=0;i<100;i++){window.parent.moveBy(-i,0)}};for(i=0;i<0;i++){window.parent.moveBy(i,-i)}"style="background:"><Font Size="4" Color="#ffffff">次へ</Font></BUTTON> <B><FONT size="-1">←ここをクリック!</FONT></B></P>

    • ベストアンサー
    • HTML
  • javascript の locationメソッド

    Javascript で、子(サブ)ウィンドを使っています 子ウィンドを開いて、とある処理を終了後に親ウィンドに指定のURLを表示させて子ウィンドを閉じる、という処理をしたいと思っています。 まず、親ウィンドにURLを渡すところはうまく動きます。 そのページはPHPで作られたページで、できており子ウィンドの処理でセッションに保存されたセッション変数を読み込んで動きます。 ページは遷移するのですが新しいセッション変数が読み込まれません。 ページをリロードすれば動作するので、子ウィンドを閉じる前に親ウィンドを再読込させればよいかな?と思ってreloadを入れてみました。 すると、リロードはしているようなのですが、今度は渡したURLに遷移しなくなってしまいました。 window.opener.location.replace(URL); window.opener.location.reload('true'); window.close(); このような処理はどうすればよろしいでしょうか? それとも諦めるしかありませんか? また、過去に同様な質問があるようでしたら、そのurlを教えていただけると幸いです。 見つけたのですが、探しきれませんでした。

  • IEのタイトル変更方法について

    JavaScriptについて素人ですのでご教授願います。 素人ながらいろいろと調べて以下のようなJavaScriptを作成しました。 このJavaScriptは、PDFファイルを表示する為に使用します。 <script language="JavaScript"> function pdf_open(jump){ subwin = window.open('pdf_open.html','subwin','width=800,height=600,menubar=no,toolbar=no,location=no,status=no,scrollbars=yes,resizable=no");'); subwin = window.subwin.location.href = jump; } このままPDFファイルを表示するとIEのタイトルにアドレスが表示されてしまいます。 例えばIEのタイトルに[PDF_OPEN]と表示することが可能でしょうか? ご存知の方が居ましたら、ご回答宜しくお願い致します。

  • リロードさせないワザ

    一度開いたページを、それ以後リロードできないようにするワザはありますか。 もしくは、下記のページを2度目にリロードしたらwindow.openをさせない方法でもけっこうです。 (例) ----ここから---- <SCRIPT language=JavaScript> window.open("next.htm") </SCRIPT> 本文ほげほげ・・・ ----ここまで----

  • サブウィンドウから親ウィンドウのファンクションを起動

    おせわになっております。 サブウィンドウから親ウィンドウのファンクションを起動する方法について困っています。 親ウィンドウから var subWin = window.open("a.html", "sub") でオープンしたサブウィンドウを閉じる場合に サブウィンドウから親ウィンドウの function sub_close() { subWin.close(); } を呼び出して閉じる処理をしています。 (サブウィンドウでwindow.opener.sub_close()) #これは正常に処理されます。 ここで問題なのですが、サブウィンドウがフレームの場合に、フレームセットされたHTMLから window.opener.sub_close() というような方法では親画面の操作ができないのでしょうか?(できませんでした。) 初歩的な質問で申し訳ないのですが、何かよい方法があれば教えてください。 宜しくお願いします。

  • 子ウィンドウを手前に表示する

    子ウィンドウがまだ開かれていない場合に、子ウィンドウを開く。子ウィンドウがすでにある場合に子ウィンドウが手前に表示されるボタンを作りたいです。 今、作成中のPROGは以下です。 var subwin; function display(url){  if(subwin && !subwin.closed){   subwin.focus();  }else{   subwin = window.open(url, "", "width=768,  height=512");   subwin.moveTo(125,120);  } } このPROGでは、一度目のopen()は可能なのですが、テストでウィンドウを閉じて、もういちどクリックしてみると二度目からopen()されずに、エラーが出てしまいます。 どなたか、解決法を教えてください。 IE6、sp2です。

  • IEでアクティブウィンドが替わる度に、画面が更新される

    現在の環境はWindows98、InternetExplore6.0ですが、バージョンアップ前のIE5.0の時も同じ現象は起こっていました。 現象こうです。まずIEから複数のウィンドを開きます。 この複数ウィンドの間で、アクティブなウィンドを切り替えただけで、IEはその都度サーバーに接続し、アクティブになったウィンドが更新される、という現象です。 表示するページは変化しないのだから、サーバーにアクセスする必要はない筈ですが、この現象のためウィンドの切り替えのたびに、画面表示で無駄な時間がかかります。 この現象は全てのサイトで発生しています。また、ひとつのIEから複数ウィンドを開いた時にのみ起こり、IEを二つ起動した場合は起こりません。 原因としてはどのようなものが考えられるでしょうか。

  • ウィンドウ名からウィンドウオブジェクトを取得

    対象ブラウザはIE6~8です。 2つのウィンドウA/Bが連動するプログラムを作っています。 ウィンドウAにはウィンドウBを開くためのボタンがあり、 Aより先にBが開くことはありません。必ずAからBが派生します。 Aはwindow.openの戻り値を保持することで、B内部のJavaScriptにアクセスします。 Bはwindow.openerプロパティを経由することで、A内部のJavaScriptにアクセスします。 しかし、Aには自身をリロードする機能があり、 リロードすると保持していたBのウィンドウオブジェクトを失ってしまいます。 そこでAがリロードし終わったとき(onloadのタイミング)に、 何とかしてBのウィンドウオブジェクトを取得しなければなりません。 window.openではウィンドウに名前を付けることができますが、 その名前からウィンドウオブジェクトを取得するような、 document.getElementByNameみたいなメソッドは存在しないでしょうか? あるいは、BからAの監視を続け、リロードが終わった時に window.opener経由でメッセージを送る等の処理を実現する手段はないでしょうか? よろしくお願い致します。