- ベストアンサー
元ページのiframe内リンクから、ターゲット_blankで開いた別窓
あるページがあり、そこにはiframeが設定されていたとします。そのiframe内にリンクがあり、それを押すと別窓が開きます。 その別窓の中にあるリンクを押すと、元ページ全体を別のURLに変更し、同時にその別窓も閉じるような事はできますでしょうか? ただ、前提としてiframeからのリンクはあくまでターゲット_blankです。javascriptは使いません。 現状では、別窓にjavascriptを記述し、元ページに変更を加えるようにしたのですが、どうしてもiframeの中が変わるだけになってしまいます。 良い方法はありませんか?
- みんなの回答 (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>
その他の回答 (2)
- arenani_sorenani
- ベストアンサー率73% (58/79)
>ただ、前提としてiframeからのリンクはあくまでターゲット_blankです。javascriptは使いません。 javascriptは使わない前提ですか? 使えばできると思いますが・・・
お礼
はい、javascriptは使いません。 この点で苦労しております。苦笑
- NYOI
- ベストアンサー率58% (56/96)
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がリンク先ページへ置き換わるので、見た目として元ページ全体が別のページに変わります。
お礼
やはりフレームセットでname属性を付加してあげるのがいいのでしょうか。 他にname属性を付加するやり方があると、もっといいのですけどね。 どうもありがとうございます。
お礼
ありがとうございます。 この方法でばっちり出来ました!!