別フレームで開いたウインドウの制御

このQ&Aのポイント
  • フレームAとフレームBでリンクをクリックするとウインドウが開く処理を行っていますが、フレームAのリンクを選択したときにフレームBのウインドウが開いている場合、先にフレームBのウインドウを閉じてからフレームAのウインドウをオープンする処理を追加したいです。
  • 別のフレームで開いたウインドウを制御する方法についてお尋ねします。フレームAとフレームBでリンクをクリックするとウインドウが開く処理を行っていますが、フレームAのリンクを選択したときにフレームBのウインドウが開いている場合、フレームBのウインドウを閉じてからフレームAのウインドウをオープンする処理を追加したいです。
  • 別のフレームで開いたウインドウの制御方法について教えてください。現在、フレームAとフレームBでリンクをクリックするとウインドウが開く処理をしていますが、フレームAのリンクを選択したときにフレームBのウインドウが開いている場合、フレームBのウインドウを閉じてからフレームAのウインドウをオープンする処理を追加したいです。
回答を見る
  • ベストアンサー

別フレームで開いたウインドウの制御

================ フレームA Aリンク ----------------- フレームB リンクB ================ このような形のページで、 リンクA,リンクBをクリックすると それぞれwindow.openで ウインドウが開く処理をしているのですが、 もし、フレームAのリンクAを選択したときに リンクBのウインドウが開いていた場合、 リンクBで開いたウインドウを閉じてから リンクAのウインドウをオープンするという処理を追加したいのですが、 この場合、どのように処理をすればよいのでしょうか? 御回答、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

window.open()の第2引数で、ターゲット名を指定してあげれば、良いかと。 開いていたウィンドウが再利用されます。 より細かく制御したい場合は、予めウィンドウ・オブジェクトを取得しておくか、閉じられるウィンドウ側のUnLoadイベントで後始末処理を記述しておくとか。

volf_32php
質問者

お礼

お蔭様で、なんとか解決することができました。 ありがとうございます。

volf_32php
質問者

補足

お答えありがとうございます。 現在の私の書式は フレームBで <script language="JavaScript"> <!-- function openWin( url ) { var b_window = window.open( url,'b_window',"width=350 height=450" ); } //--> </script> と記述し、 <a href="#" onClick="openWin('a.html')">リンク</a> としています。 フレームAにおいては <script language="JavaScript"> <!-- function close_pr() { if(!(b_window.closed())){ b_window.close(); } openWindow(); } function openWindow() { a_window = window.open( 'form/index.html ', 'a_window', 'toolbar=no,menubar=no,width=640,height=720'); } //--> </script> として <a href="#" onClick="close_pr()"> テスト </a> としているんですが、上手くいきません。 呼び出し方などに問題があるのでしょうか?

関連するQ&A

  • フレーム内から開いたサブウィンドウから親ウィンドウの別フレームの操作を行いたい

    メニュー、メインの2つのフレーム分けしてあるページで、メインページからサブウィンドウを開きます。 その後、以下の2アクションを同時に行いたいのです。 (1)サブウィンドウから親ウィンドウ(メイン)をジャンプさせる (main.html→main2.cgi) (2)親ウィンドウ(メニュー)の画像をAからBに変更させる 現在window.openerでメインページの変更はできているのですが、 メニューページの画像のを変更がうまくできません。 方法としては (1)サブから親ウィンドウ(画像=A)を閉じさせて、再び親ウィンドウ(画像=B)を フレームセットごとムリヤリ開き直す。 (2)何らかの形でメニューページの情報を保存しておき、Onloadでサブからのジャンプ時に変更させる (3)サブから親ウィンドウのフレーム越し操作を行なって、メニューページの画像を変更する。 どの方法が可能でしょうか、もっといい方法がありますか。 お知恵拝借させてください。よろしくお願いします。 以下、かなり省略したソース説明です。 【フレームセット→cgi。記述は省略】 <frameset>  <frame src="menu.html" name="menu">  <frame src="main.html" name="main"> </frameset> 【メニュー→html】 <img src="A"> 【メイン→html】 function open_sub(url) { /**/ w = window.open(url, 'sub') } <!--本文--> <a href="javascript:open_sub('sub.html')">サブウィンドウ</a> 【サブ→html】 function change_main() { window.opener.location.href="main2.cgi?sub"; window.opener.focus(); } <!--本文--> <A HREF="JavaScript:change_main()">メインを変更</A>

  • 親ウィンドウの別フレームを子ウィンドウから操作したい

    いろいろ試しているのですが、理解不足のせいでしょうが、どうやってもできません! 内容は以下の通り(分からないのは3)です。どうぞ宜しくお願いいたします。 1:画面を、AとBの2つのフレームに分割しています。 【index.html】 <frameset>  <frame src="A.html" name="A">  <frame src="B.html" name="B"> </frameset> 2:Aフレーム内に記述してあるaaaアンカーをクリックすると、子画面ko.htmlを開きます。 <a href="javascript:void(0)" onclick="window.open('path=ko.html','_blank');">子画面</a> 3:ko.htmlではbbbというアンカーがあって、それをクリックすると、"親画面のBフレームにbbbで指定したリンク内容を表示したい"のです。 <a href="javascript:void(0)" onclick="opener.window.location=('B?path=/home/~/~/ZZZ.html');">開きたいファイルZZZ.html</a> と書くと、openerはAだからAにZZZ.htmlの内容が表示されてしまうので、(全くおかしな記述をしているのかもしれませんが・・・(- -;))あちこち調べながら、 B.opener.window.locationとか、 B.opener.window.location.hrefとか、 parent.B.window.locationとか、 parent.frames[1].window.locationとか、 ほかにもいろいろやってみたのですが、出来ませんでした・・・。 このような別フレームの操作が出来る方法があれば教えてください。 宜しくお願いいたします。

  • 別のウインドウを出す

    HTMLにて、Aというファイル内でリンク指定したジャンプ先をB、更にBというファイル内でリンク指定したジャンプ先をCとしたとき、それぞれJavascriptのopen_windowを使って、それぞれ別のページをウインドウの大きさを変えて表示させるようにしたいのですが、A→Bはうまくいくのですが、B→Cをすると、BのページがCに変わる(同一ウインドウでジャンプされる)だけで、Cを表示したいウインドウが新規に出てきません。 因みに、 <a href="javascript:open_window('ファイル名',form,width=200,height=200,left=0,top=0,resizable=yes,scrollbars=yes)">ジャンプ先</a> としています。 どこを修正すればいいか解らないので教えて下さい。よろしくお願いします。

  • フレームなしのページからフレームありのページに飛ばすと・・・

    Webデザイナーの新人です。 フレームのあるページ(2分割)があります。クリック すると、ターゲットで別ページの一部が開くように なっています。 このページを「A」としますが、もともとトップページ だったこの「A」の前に別のページ「B」を作り、リンク させたところ、「B」のリンクから入ると「A」は、 クリックするとこれまで「A」の画面内の一部で開いて いた別ページが、別ウインドウで開くようになってしまい ました。 何かの理由で壊れてしまったのかと思いましたが、「A」 のURLを直接入力して見た時は問題がないことから、 「B」がフレームなしのページで、「A」がフレームありの ページだからなのか? と思いました。 説明がわかりにくいかもしれませんが、フレームなしの ページからフレームありのページへリンクさせた場合に フレーム、ターゲットを使う場合、どのような対処方法が あるのでしょうか。 ちなみに「A」「B」ともに作成者は異なり、私はアップ だけしました。 アドバイスをよろしくお願いいたします。

  • フレームで区切られたウィンドウを閉じたい

    HTML,JavaScriptでの質問です。 Aの画面よりボタンのonClickイベントでBの画面を開いています。 Bの画面は親フレームがあり、上下にフレームを切っています。 Bの上フレームのボタンのonClickイベントでclose();を記述しているのですが、 フレームを切っているためにウィンドウが閉じないようなのです。 ※Bの上フレームだけを開き、ボタンを押すと閉じるので。 環境はWindows98,IE5.5です。 どなたか対応方法をご存知の方、よろしくお願いします。 Aのボタンでのイベント: onClick='subwin = window.open("B0.html","bbb");' Bのボタンでのイベント: onClick='close();'

    • ベストアンサー
    • HTML
  • 別フレームの制御について

    はじめて質問させていただきます。HTMLで上下2分割のフレームがあり、上部フレームのファイルにはバナーがはってあるとします。 それで下部フレームのファイルからハイパーテキスト等をクリックしてリンク→同じ下部フレームに新しいファイルを読み込む際に、同時に上部フレームのバナーをローテーションさせたいのです。 上部フレームのファイルはASPファイル(NTサーバーなもので)で作り、5種類のバナーを下部フレームのページがリンクされる毎にランダムにローテーションさせたいのですが何かいい方法はありませんでしょうか。JAVA Scriptでもできるかなと思ったのですが、なかなかサンプルが見つかりません。 イメージとしては下部フレーム内のファイルをリンクすると、上部フレームをリフレッシュするメタタグか何かがあって、上部フレームのASPファイルは、リフレッシュされる度にランダムにバナーを読み込む、ということなのかな、とも思うのですが。 すいませんが、よろしくお願いいたします。

  • フレーム内のリンク先を別ウィンドウに表示する

    お世話になります。 ページ内にフレーム領域を作りました。 フレーム内のリンクをクリックするとフレーム内で別ウィンドウが開きます。 <iframe src="aaaaaa.html"name="bbbbb"width="800"height="500"></iframe> 上の様に書きました。フレーム内のaaaaaa.html内のリンクをクリックするとフレーム内に別ウィンドウが開きます。 そうではなくて、_blankを使った様に別ウィンドウを開きたいのです。 <a href="aaaaaa.html内のURL"target="_blank" <iframe src="aaaaaa.html"name="bbbbb"width="800"height="500"></iframe> </a> <iframe src="aaaaaa.html"name="bbbbb"width="800"height="500"><a href="aaaaaa.html内のURL"target="_blank"</a></iframe> 上記の様にしても結果は同じでした。 RCCの知識が無いために、ページ内にブログのページを強引に表示しました。 よろしくお願いします。

  • フレームページから別フレームのアンカーへ

    あるフレームAからフレームBへ移るとき、 同時に子ページのアンカーへもリンクのさせたいのですが、 検索しても「いくつか方法がある」という記述は発見できたものの、 そのものズバリ、Javascriptが記述されたページが見つからず、 途方に暮れています。 a.html(フレームA)  a-1.html  a-2.html b.html(フレームB)  b-1.html  b-2.html   #b-2a、#b-2b、#b-2c・・・ 上記のような場合なのですが、 単純に考えればb-2.htmlのそれぞれのアンカーを指定した フレームページをアンカーの数だけ作ればよいのですが、 アンカーが数百単位で存在し、 フレームBだけではなくフレームC、D、E・・・と フレーム自体も数が多いので、後々のメンテナンスを考えると Javascriptで行う方が良い気がしています。 どなたか解決方法をご存知でしょうか?

  • POPUPで開いた別ウィンドウからの操作

    もともとのページから小さい別ウィンドウを開き、そこから最初のページを操作させたいと思っています。 イメージは大体こんなかんじです。 簡単な気もするのですがよろしくおねがいします。 A(元ページ)からBをオープン  →B(POPUPウィンドウ、JAVAスクリプトにて小窓サイズで表示)  →B内にCページへのリンク  →Cへのリンクをクリック(Bにて)  →AページがCページに切り替わる   (Bは閉じない。可能ならCページをアクティブにしたい)

  • window.openのターゲットについて

    ウィンドウをjavascriptで開く際に、 window.open("URL","_top")のように ターゲットを指定できると思うのですが、 今一どこを指定しているのかわかりません。 ページA(フレームで分けられている)からwindow.openでページBを開いた場合、ターゲットに_top,_selfなどと指定した場合はページAのフレームのことを指しているのでしょうか? また今、ページA(フレームで分けられている)でURLをクリックするとファイルをダウンロードするプログラムを作成しているのですが、window.openのターゲットに_topを指定すると新しいウィンドウが表示されないのに、_self,_blankなどを指定するとウィンドウが表示され、ダウンロードが終わっても表示されたままになってしまいます。どうしてこのような違いが起きるのかお分かりになる方がみえましたら教えてください。 よろしくお願いいたします。