フレームネーム変更に関する質問

このQ&Aのポイント
  • フレームネームの変更に関しての質問です。分割したフレームで別ページ(bb.htm)を表示し、その別表示内のジャバスクリプトでフレームの変更をする際にエラーが表示されます。
  • bb.htm内のyy.htm内での記述において、top.test_1000.colsの属性を変更する方法がわかりません。起動するHTAにてaa.htmの表示をしながらbb.htmを操作したいです。
  • 外部ページであるbb.htmを操作する際に起動するHTAで表示しているaa.htmと連携させる方法がわかりません。エラーや混乱してしまっています。解決方法を教えてください。
回答を見る
  • ベストアンサー

フレームネームの変更?に関しての質問です。

フレームネームの変更?に関しての質問です。 javascript初心者です。 質問の仕方がよくわからないのですが… 分割したフレームで別ページ(bb.htm)を表示、その別表示内のジャバスクリプトでフレームの変更をする記述でtopの指定がある為?エラー(オブジェクトで指定されてないプロパティ)が表示されます。 ちなみにbb.htmのページは変更不可能です(外部ページのため) なお、test_1000の1000の部分が毎回変更されます。 こういった場合はどうすればいいのでしょうか? topの属性?を変更? いろいろ考えていたら混乱し行き詰ってしまいました。 趣旨として起動するHTAにてaa.htmの表示をしながらbb.htmを操作したいです。 わかりにくい文書でご迷惑をおかけしますが解決方法を教えてください よろしくお願いします。 //起動するHTA <frameset cols="150,*" name-"oya"> <frame src="aa.htm" name="a"> <frame src="bb.htm" name="b"> </frameset> //bb.htm <frameset cols="150,300,*" name="test_1000"> <frame src="zz.htm" name="f1"> <frame src="xx.htm" name="f2"> <frame src="yy.htm" name="f3"> </frameset> //このbb.htm内のyy.htm内にての記述 top.test_1000.cols="*,200,400"

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

  • ベストアンサー
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.2

質問が最初と変わってます。 最初の質問では、「分割したフレームで別ページ(bb.htm)を表示、その別表示内のジャバスクリプトでフレームの変更をする記述でtopの指定がある為?エラー(オブジェクトで指定されてないプロパティ)が表示されます。」「bb.htmのページは変更不可能です(外部ページのため)」 と、おっしゃてました。yy.htm内に記述の top.test_1000.cols="*,200,400" が 変更出来ないなら、ご希望のフレーム構成でエラー回避は出来ないです。 「フレーム名が変更できるのかも調べてみましたがわかりませんでした。」 =><frameset></frameset>要素を持つHTML自体が、があなたのサイトのものなら、 親から子でも、子から親でも<frameset>や<frame>の名前の変更や、属性値の変更は 可能です。name属性での選択だけでなく、No.1の回答のように順序で選択する事も できます。  実現方法を質問するにあたって、まず、おおもとにある目的を記載したほうが 希望に合う解答が得られると思います。

life_is_journey
質問者

お礼

ご返答ありがとうございます。 表示させたいページがすべて外部のページだったので変更は一切できません。 その上で使えるようにと調べてたのですが… 質問の仕方も悪く本当にすみませんでした。 いろいろと勉強になりました。 ありがとうございました。

その他の回答 (1)

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

ご提示の構成ですと、yy.htmのjavascriptから見たtopは、 bb.htmでなく、起動するHTAとなります。 また、<frameset>はnameインターフェースでアクセスできないので × top.test_1000.cols="*,200,400" を ○ window.top.b.document.getElementsByTagName("frameset")[0].cols="*,200,400"; のように書けば、一応操作できます。(他にも書き方はあると思うが..)

life_is_journey
質問者

補足

返答ありがとうございます。 この場合yy.htmのjavascriptの記述を変更するのですがyy.htmの記述変更が不可能な場合(外部ページ)はどうすればいいのでしょうか? aa.htmとbb.htmの外部ページを使った補助ツールを作ろうと思っています。 起動するHTAがtopになると思いフレーム名を変更しようかと思いましたが、フレームを最低4つは作らなくてはいかず、そもそもフレーム名が変更できるのかも調べてみましたがわかりませんでした。 よろしくお願いします。

関連するQ&A

  • HPのフレーム

    境界線の色を変えて、細くしたいのですが、 色は変えられたのですが、細くすることができません。 今フレームを呼び出す?ために 『<FRAMESET rows="100,*"> <FRAME src="frame-ue.htm" name="ue">        <FRAMESET cols="100,*"> <FRAME src="frame-hidari.htm" name="hidari"> <FRAME src="frame-main.htm" name="main"> </FRAMESET> <NOFRAMES> <BODY> <P>このページを表示するには、フレームをサポートしているブラウザが必要です。</P>』 としていて、色を変えるのに、 『<FRAMESET rows="15%,85%" BORDERCOLOR="RED"> <FRAME SRC="frame-ue.htm" NAME="ue"> <FRAMESET COLS="15%,85%" BORDERCOLOR="RED"> <FRAME SRC="frame-hidari.htm" NAME="hidari"> <FRAME SRC="frame-main.htm" NAME="main">』 こうしています。 どうすれば細くできますか? もう1つこうゆうタグを使えばいいのでしょうか? わかる方、よろしえれば教えてください。

  • フレームの大きさを変更する 等

    index.htmlにフレームが定義してあります。 右・中央・左と言う感じで3つに区切っています。 <FRAMESET COLS="130,*,130" border="0"> <FRAME name="left" src="left.html" scrolling="no" frameborder="0" noresize> <FRAME name="main" src="main.html" scrolling="auto" frameborder="0" noresize> <FRAME name="right" src="right.html" scrolling="no" rameborder="0" noresize> <NOFRAMES> <BODY> <P>このページはフレームを使用しています<br>フレーム対応ブラウザーで閲覧してください。</P> </BODY> </NOFRAMES> </FRAMESET> これを、例えば中央のページのリンクをクリックすると、 フレームのサイズを変更することは可能なのでしょうか。 例 最初:<FRAMESET COLS="130,*,130" border="0"> ↓ サイズ変更リンクをクリック ↓ 変更後:<FRAMESET COLS="200,*,0" border="0"> このような感じです。 すみませんが、ご存知の方がいらっしゃいましたら、 ご教授をお願いします。 もしもよろしければ、簡単なサンプルコードもつけていただければ嬉しいです

  • frameset 複合技!?

    ------------------------------              |              |              |                  |   ----------------------------- ----------------------------- このようなframeは <frameset cols="60,*"> <frame src="xx.htm", name="p1"> <frame src="yy.htm", name="p2"> </frameset> <frameset rows="*,30> <frame src="zz.htm" name="p3"> </frameset> で、やっても下の zz.htm がでません。 おかしい・・

    • ベストアンサー
    • HTML
  • FC2HPでフレーム作成

    トップページのフレームは表示されるのですが、リンク先のフレームが表示されません。 トップページからGalleryに飛ばしたいのですが、左のページ(gallerymenu.htm)と右のページ(gallerymain.htm)を個別に見ると表示されるのですが、フレームページ(gallerytop.htm)は何も表示されません。 フレームページのソースです。 <html> <head> <title>Gallery</title> </head> <body> <p><frameset cols="150,*"> <frame name="hidari" src="gallerymenu.htm"></frame> <frame name="migi" src="gallerymain.htm"></frame></frameset></p> <p>&nbsp;</p> </body> </html> メモ帳でhtmファイルを作ってアップロードするといい、と見かけたのでやってみたのですが変わらずフレームページにメニュー・メインは表示されません。 何かタグが間違っているのでしょうか? ホームページの仕様が変わってしまったので使いにくいです。 よろしくお願いします。

  • フレームの境界線

    ホームページでフレームのページを作りました。 フレームの境界線を消したくて、 <frameset cols="150,*" frameborder=0> <frame src="menu1.html" name="menu"> <frame src="top.html" name="main"> </frameset> としても、背景が紫(#CC99FF)なので 白い境目が出来てしまいます。 宜しければ、境目を見えなくする方法を教えて下さい。

    • ベストアンサー
    • HTML
  • 2分割フレームの左側だけ表示できません!

    WIN98SE,IE6.0,フロントページエクスプレスでHP作成中ですが、左右2分割フレームの左側だけ、「ページを表示できません。」のメッセージが出ます。 表示したいファイル名はそれぞれ、 左:CONTENTS.HTM 右:TOP.HTM フレームセットファイルが、INDEX.HTM です。 その記述は下記の通りです。 <HTML> <HEAD> <TITLE>フレームセット</TITLE> </HEAD> <FRAMESET COLS="25%,*"FRAMEBORDER="no"> <FRAME SRC="contents.htm"NAME="left"> <FRAME SRC="top.htm"NAME="right"> </FRAMESET> </HTML> 本の内容を参考にしたのですが、非表示の原因が わかりません。ヒントでもかまいません、教えて下さい!

    • ベストアンサー
    • HTML
  • フレーム分割領域のサイズを変更する

    HTMLのframesetタグでフレームを分割してHTMLを 表示させることができます。例えば... <frameset rows="40%,60%"> <frame name="frm_01" target="f_left" src="left.htm"> <frame name="frm_02" target="f_right" src="right.htm"> </frameset> と記述すると、ウィンドウ左にleft.htmを40%、ウィンドウ右にright.htmを 50%割合で表示します。これらを何かHTML上のボタンをクリックされる などのイベントが生じた場合に、ウィンドウ分割してある比率を(例:left.htm40%→60%)の ように変更したいのですが、そのようなことはできないものでしょうか?

  • フレーム分割した全体をスクロールバーで動かせないでしょうか?

    フレーム分割したホームページをスクロールバーで上下したいのですが、書き方が分からなくて困っています。お分かりになる方がいらっしゃいましたら、教えて下さい。 尚、当方htmlでようやく簡単なページが作れるレベルです。宜しくお願い申し上げます。 尚、フレームの割り方が違う時はそちらもお教え下さいませ。 <HTML><HEAD> <META Http-Equiv="Content-Type" Content="text/html;charset=Shift_JIS"> <TITLE>フレーム分割</TITLE></HEAD> <FRAMESET Rows="195,*,50" Frameborder="1"> <Frameset cols="10%,80%,10%" Frameborder="1"> <FRAME Src="./frame1.html" name="f1" Scrolling="no"> <FRAME Src="./frame2.html" name="f2" Scrolling="no"> <FRAME Src="./frame1.html" name="f3" Scrolling="no"> </Frameset> <Frameset cols="10%,20%,60%,10%" Frameborder="1"> <FRAME Src="./frame1.html" name="f4"> <FRAME Src="./f001.html" name="f5" scrolling="no"> <FRAME Src="./f002.html" name="f6" scrolling="no"> <FRAME Src="./frame1.html" name="f7"> </Frameset> <FRAME Src="./end.html" name="f8" scrolling="no"> <NOFRAMES>恐れ入りますがフレーム対応ブラウザでご覧下さい</NOFRAMES> </FRAMESET> </HTML>

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

    <frameset frameborder="1" cols="100,*"> <frame src="1.htm"> <frame src="2.htm"> </frameset> <NOFRAME><P>このページをご覧いただくにはフレーム対応のブラウザが必要です。</P></NOFRAME> このタグを入れても、フレームページにはなりません。 どうすればいいのかわからないんです。 「あらかじめファイルが必要です。」 とあったのですが、何のファイルなのでしょうか? 今日作り始めたばかりで、分からないことがたくさんあって大変です(><;)教えて下さい!お願します。

    • ベストアンサー
    • HTML
  • フレーム分割のスクリプトについて

    画面を3つに分割し、top1,top2,top3を作成して、 top1のみ、右端のスクロールバーを無し(画面固定)にするには、どのようにすればよいのでしょうか? <html><head> <title>top</title> </head> <frameset rows="350,*"> <frame src="top1.html"name="top1"> <frameset cols="200,*"> <frame src="top2.html"> <frame src="top3.html"name="bottom"> </frameset> </html> 宜しくお願い致しますm(_ _)m

専門家に質問してみよう