一回も披露したことのない豆知識

いろいろ試しているのですが、理解不足のせいでしょうが、どうやってもできません!
内容は以下の通り(分からないのは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とか、
ほかにもいろいろやってみたのですが、出来ませんでした・・・。
このような別フレームの操作が出来る方法があれば教えてください。
宜しくお願いいたします。

A 回答 (3件)

ご質問の場合、子ウィンドウ(ko.html)からみて、openerはフレームAになっていますから、window.opener~はフレームAに対する操作を意味することになります。



Bフレームを取得するには
window.opener.top.document.getElementsByName('B')[0].src='http://www.yahoo.co.jp/';
などのようにしてあげればよいかと…

ところで現状で、ko.htmlは開いているのでしょうか?
(こちらの環境では、ご質問の通りだと開きません)
    • good
    • 0
この回答へのお礼

回答、ありがとうございます。
>window.opener.top.document.getElementsByName('B')[0].src='http://www.yahoo.co.jp/';

この方法で、上手くいきました!!
ありがとうございました。
『~document.getElementsByName('B')[0].src~』の部分、
も少し勉強してみます。
<m(_ _)m>

ところで、ko.htmlは開いています。
質問では少し、記述を端折りましたが、大体下記の通りです。
<a href="javascript:void(0)" onclick="window.open('/~/~?path=~/~/~/ko.html','_blank','width=400,height=300,
menuber=no,toolbar=no,scrollbars=yes,status=yes,resizable=yes');">子画面</a>

ありがとうございました!

お礼日時:2008/12/02 09:45

#1補足


jabascriptはfunctionとしてindex.html
に作っておいて、子供からparent.で呼ぶわけです
    • good
    • 0

<frame>にid属性を振っておいて、DOMで直接属性操作すれば


 <frame src="A.html" name="A" id="A">
 <frame src="B.html" name="B" id="B">

document.getElementById("B").src = "ZZZ.html";
出来なかったかなあ?あるいは
frameB = document.getElementById("B");
frameB.setAttribute("src","ZZZ.html");
    • good
    • 0
この回答へのお礼

早速の回答、どうもありがとうございました。
やってみたのですが、何故か上手くいきませんでした。
idを使ってみるという方法もあるのですね。
javascriptについてもう少し勉強しようと思います。
ありがとうございました。
<m(_ _)m>

お礼日時:2008/12/02 09:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報