CGI-BBS > JAVA/JavaScript > JavaScript > ノンフレームからフレームを開いて、同時にフレームの内容を変更


カレッヂ
カレッヂ


質問者 たろ  投稿日 4/21(月) 13:33:49
こんにちは。
現在、フレームページ(1.htm)のtextのリンクをクリックしてフレームnameF1とF2を変更しているのですが、これをフレームなしのページ(2.htm)から
フレームページ(1.htm)を読み込んでフレームnameF1とF2を同時に変更するにはどのようにしたら良いのでしょうか?
どうかよろしくお願いいたします。
下記は、現在のフレームページ(1.htm)のソースの一部です。

<HTML>
<HEAD>
 ・
 ・
<SCRIPT type="text/javaScript">
<!--

function change1(){
    parent.F2.location.href="A.htm"	
  parent.F1.location.href="B.htm";
}

function change2(){
    parent.F2.location.href="A.htm"	
  parent.F1.location.href="C.htm";
}

 ・
 ・
// -->
</SCRIPT></HEAD>

------本文-------
<A href="#" onclick="change1()">
 ・
 ・
<A href="#" onclick="change2()">


<現在>
┏━━━━━━━━━━┓
┃F3        ┃
┠───┬──────┨
┃F1 │ F2   ┃1.htm
┃   │      ┃
┃   │      ┃
┗━━━┷━━━━━━┛

<やりたいこと>
┏━━━━━━━━━━┓
┃          ┃
┃          ┃
┃          ┃2.htm
┃          ┃
┃          ┃
┗━━━━━━━━━━┛

     ↓

┏━━━━━━━━━━┓
┃F3        ┃
┠───┬──────┨
┃F1 │ F2   ┃1.htm
┃   │      ┃
┃   │      ┃
┗━━━┷━━━━━━┛


プロバイダ参照:
サーバのOS:(未選択)
パソコンのOS:WinNT系
エディタ:
FTPソフト:
サーバ移転:していない
改造:(未選択)
CGI習熟度:middle

回答者 cen_picture21  [削除]  投稿日 4/21(月) 15:05:18
a=window.open("1.htm")
でaというウィンドウ名でやってみてはどのよになりますか
質問者 たろ  [削除]  投稿日 4/21(月) 15:18:59
cen_picture21さん、どうもありがとうございます。
function change1(){
  a=window.open("1.htm")
  parent.F2.location.href="A.htm"	
  parent.F1.location.href="B.htm";

これはやってみたのですが、1.htmが別ウィンドで表示されるだけで、
  parent.F2.location.href="A.htm"	
  parent.F1.location.href="B.htm";

の部分は変化がないです。
回答者 cen_picture21  [削除]  投稿日 4/21(月) 18:26:06
これを{window.open()}記述するのに
抵抗があるのですが・・・・・
決して勧めている分けではなく単にできますよ
という事でご理解して下さい。
2.htmから1.htmのフレームの操作を随時するのであれば
a=window.open("1.htm")を
2.htmのスクリプト内に記述します。

これでaというウィンドウ名を持った子ウィンドウが作れます。
任意のイベントハンドラに関数をつけ
ウィンドウ名.フレーム名.location="A.htm"
を2.htmから実行すればなりませんか?

F1という名前のフレームをA.htmに変更するのであれば
この場合だと
a.F1.location="A.htm"
コレクションで表記すると
a.frames("F1").location="A.htm"
a.frames(1).location="A.htm"
回答者 cen_picture21  [削除]  投稿日 4/21(月) 18:46:19
上記意味を取り違えていたらすみません。
onloadですむことかもしれません
質問者 たろ  [削除]  投稿日 4/21(月) 22:45:19
cen_picture21さん、どうもありがとうございます。

>上記意味を取り違えていたらすみません。
いいえ取り違えていません。
徐々に思いどうりものができてきました。
欲を言えば別Windowを同一windoで開きたいのですが。。。。
window.openでは無理ですよね?

このページは終了したので返信(回答)は書きこめません
 


Web裏技