• ベストアンサー

元ページのiframe内リンクから、ターゲット_blankで開いた別窓

あるページがあり、そこにはiframeが設定されていたとします。そのiframe内にリンクがあり、それを押すと別窓が開きます。 その別窓の中にあるリンクを押すと、元ページ全体を別のURLに変更し、同時にその別窓も閉じるような事はできますでしょうか? ただ、前提としてiframeからのリンクはあくまでターゲット_blankです。javascriptは使いません。 現状では、別窓にjavascriptを記述し、元ページに変更を加えるようにしたのですが、どうしてもiframeの中が変わるだけになってしまいます。 良い方法はありませんか?

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

  • ベストアンサー
  • suzuki-_-
  • ベストアンサー率77% (152/195)
回答No.3

> 現状では、別窓にjavascriptを記述し、元ページに変更を加えるようにしたのですが、どうしてもiframeの中が変わるだけになってしまいます。 おそらくwindow.openerを使って行っていると思うのですが、そこでparentを使い親階層を指定すれば解決すると思われます //js function winSet(jumpurl) { if(window.opener && !window.opener.closed) { window.close(); window.opener.parent.location.href = jumpurl; } else { alert("元のウィンドウがない場合の処理に変更してください"); } } <!-- html // --> <a href="javascript:winSet('http://www.goo.ne.jp/');">goo</a>

pochitarou
質問者

お礼

ありがとうございます。 この方法でばっちり出来ました!!

その他の回答 (2)

回答No.2

>ただ、前提としてiframeからのリンクはあくまでターゲット_blankです。javascriptは使いません。 javascriptは使わない前提ですか? 使えばできると思いますが・・・

pochitarou
質問者

お礼

はい、javascriptは使いません。 この点で苦労しております。苦笑

  • NYOI
  • ベストアンサー率58% (56/96)
回答No.1

iframeのある元ページをA.htmlとします。 そのA.htmlを全画面表示するフレームページB.htmlをつくります。 <frameset>   <frame src="A.html" name="AAA"> </frameset> B.htmlはA.htmlを全画面に表示してるので、一見ただA.htmlを表示しているのと見た目は変わりません。 目的はname属性の付加です。 で、target="_blank"で開かれたページ内にあるリンクは、 target="AAA"とします。 そうすれば、元ページで表示されているA.htmlがリンク先ページへ置き換わるので、見た目として元ページ全体が別のページに変わります。

pochitarou
質問者

お礼

やはりフレームセットでname属性を付加してあげるのがいいのでしょうか。 他にname属性を付加するやり方があると、もっといいのですけどね。 どうもありがとうございます。

関連するQ&A