• ベストアンサー

別フレームのページを更新させたい

質問させてください。 Windows IE6.1で試しています。 左右に分かれたフレームのページをつくり、 右ページにメニュー、左ページに掲示板を作っています。 左ページを更新したら、同時に右ページも更新させたいのですが、 それの方法がわかりません。 一応、下記の通り試してみましたが、更新しませんでした。 function autoOpen(){ window.open("menu.htm","menu"); } 左ページの更新時、 BODYを下記のとおり書き換えています。 <body onLoad="autoOpen()"> あと、 <body onload="parent.frames.menu.reload(true)"> も試してみましたが、やはりダメでした。 何卒宜しくお願いします。m(_ _)mペコリ

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

  • ベストアンサー
  • coral0
  • ベストアンサー率92% (13/14)
回答No.2

まずは、始めまして^^ 早速ですが、質問の内容を見る限り、条件として左右にフレームが分かれた状態で、双方からページを変更出来る事を実現したいと言うことでよろしいのでしょうか? (プラスしてポップアップウィンドウも更新させたいのかな??) 以下の説明は、親ウィンドウは左に掲示板(bbs)、右にメニュー(menu)、ポップアップウィンドウ(popup)でもメニューを表示するとして説明させて頂きます。 初めにフレーム間の操作についてですが、質問に最後に書かれている次の文は非常に惜しいですね parent.frames.menu.reload(true) 非常に惜しいのですが、これでは多分エラーが発生してしまうと思います。 一つ記述を忘れている為に、発生しているエラーなのですが、その記述とは、「location」です。 日本語で訳すと、parent(親)の[frames(宣言されているフレーム中)]で「menu(menuと言うフレーム)」の「location(現在位置)」を「reload(更新)」してあげるのです。 つまり、以下の文に直せば上手く行ってくれると思います。(menu=フレーム右側、このScriptは掲示板ページから実行する物とします) parent.frames.menu.location.reload(true) 付け加えて書いておきますが、framesは記述しない以下の文でも同様の動作をしてくれます。 parent.menu.location.reload(true) 次にポップアップウィンドウから親ウィンドウ内を操作する方法ですが、今回は親ウィンドウはフレーム単位で左右に分割されていると言うことなので、ポップアップウィンドウから一部のフレームを操作するのは、少し複雑になります。 以下に最初に説明した親フレームのmenuを更新するのと同様の動作をする例を書いてみますね^^ (この例ではポップアップウィンドウから親フレームのmenuフレームを更新します) opener.menu.location.reload(true); これで、ポップアップウィンドウからもmenuを更新することが出来ました。 以上で解説を終わります。 参考になったか分かりませんが、ホームページ作り、頑張ってください p(^-^)q

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.1

<body onload="parent.frames.menu.reload(true)"> ↓ <body onload="parent.frames['menu'].location.reload()">

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 別フレームを更新したいです。

    この度PHP,Javascript,htmlを使用し、データベースを作成しています。 左右にフレームを分けて作成しています。 左がindex、右がmainという具合に… 左のindexのリンクをJavascriptで作成し、右のmainをページ移動させるという具合です。 左部(index)記述コード window.open('hoge.heml','mail') しかし左のindexのリンクを押しても右のmainが古いページに飛んでしまい splが更新されずに困っています。 F5を押せば更新され新しいデータが表示されますが、利便性が悪い為 リンクでページが飛んだ瞬間に更新もされるようにしたいです。 お手数ですがよろしくお願い致します。 ちなみに下記記述を試してみたところ永遠にロードを繰り返してしまいます… 右部(main)記述コード <select>location.reload</select> <body onload="parent.frames['main'].location.reload()"> あと下記記述の場合には5秒ごとにリロードされ、ユーザーの記入欄が クリアされてしまうので都合が悪いです。 <meta http-equiv="refresh" content="5">

  • 楽天市場内でiframeから親ページのscrollToの値を取得

    よろしくお願い致します。 現在、楽天市場のショップを構築しています。 やりたいことは、iframeで読み込んだ子ページからJavascriptで 親ページ(楽天のシステムで生成されたページ)のスクロール量を取得するというものです。 楽天市場はDOCTYPE宣言なし(互換モード)ですので iframeで読み込む子ページもそれに合わせています。 iframeで読み込む子ページの記述は以下です。 window.onload = function(){ var st = window.parent.document.body.scrollTop; alert(st); } 自作の親HTMLと上記と同じ子ページでサンプルを作ったら 問題なく動作しました。 ただ、楽天市場の中で実行するとアラートのウィンドウすら開きません。 parentがうまく動かないのかなと思ったんですが、 テストで window.onload = function(){ var st = window.parent.frames.length; alert(st); } とすると楽天市場内でもアラートのウィンドウが開きフレームの数を表示してくれます。 parentの問題ではないのでしょうか? 行き詰まってしまったので皆さんのお知恵を拝借させて下さい。 よろしくお願い致します。

  • ページの参照の仕方について

    おなじフォルダにframe.html, menu.html, index.htmlをおき、 frame.htmlの左にmenu.html, 右にindex.htmlを表示させています。 menu.html上の下記のボタンでindex.htmlをリロードしたいのですが、うまくいきません。 <input type="button" value="右ページを再読込" onclick="javascript:window.top.['index'].location.reload()" style="WIDTH: 120px; HEIGHT: 20px"> どこが間違っていますでしょうか? javascriptもhtmlも初心者です。よろしくお願いします。

  • フレームページがうまくできないよー

    とりあえず、ホムペを作っているんですけれども、 フレームページの製作がうまくいかないわけです。 とりあえず、基盤ページと右と左の分かれたページを作ることには成功したんですけれども、 左をメニューのほうとして、リンクを貼るじゃないですか そうして、ただリンク貼っただけですと、右のページじゃなくて、左のページにリンク先が表示されてしまうわけです。 どうやったら左のメニューをクリックして右の内容が変化するようにできるかわかりません。 教えてください。

  • フレームサイズの変更について

    過去ログを参照していたら、次のようなサンプルを発見したのですが、 IEでは動作しますが、FireFoxではエラーになってしまいます。 どこを修正すれば動くようになるでしょうか? ■frame.html■ <html> <head><title></title> <script language="javascript"> <!-- document.write(frset('40%','60%','a.htm?','1.htm?')) function frset(a,b,f1,f2){ var frset= '<title>frame</title>\n' +'<frameset cols="'+a+','+b+'">\n' +'<frame src="'+f1+'">\n' +'<frame src="'+f2+'">\n' +'</frameset>\n' return frset } //--> </script> </head> </html> ■a.html■ <html> <head><title></title> </head> <body> 右のリンクで<br>フレームのサイズ<br>が変わるよ! </body> </html> ■1.html■ <html> <head><title></title> <script language="javascript"> <!-- function chsize(a,b){ if(location.search==""){ if(document.all){ parent.document.all.tags("frameset")[0].cols=a+","+b }else{ //parent.document.open() parent.document.write(frset(a,b,parent.frames[0].location.href+"?",parent.frames[1].location.href+"?")) parent.document.close() } } } //--> </script> </head> <body onload="chsize('40%','60%')"> こっち側60%です。 <br> <a href="2.htm">こっち側を40%にする!</a> </body> </html> ■2.html■ <html> <head><title></title> <script language="javascript"> <!-- function chsize(a,b){ if(location.search==""){ if(document.all){ parent.document.all.tags("frameset")[0].cols=a+","+b }else{ //parent.document.open() parent.document.write(frset(a,b,parent.frames[0].location.href+"?",parent.frames[1].location.href+"?")) parent.document.close() } } } //--> </script> </head> <body onload="chsize('60%','40%')"> <a href="1.htm">こっち側を60%にする!</a> <br> こっち側40%です。 </body> </html>

  • フレームページについて

    こんばんわw えっと、いまHPを作っていてあることに直面した私なのですが…。 そのフレームページが左がメニューバーで右がページが表示されてるかんじです。それで一回テストで全部見てみると、全てのページが左のメニューバーに表示されるんです。どーやったら右のほうに表示することができますか?

  • リロード

    すいません。私JavaScriptはまったくの素人です。 あるページを5分ごとにリロードさせたくて、 <script language="JavaScript"> <!-- function reload_me() { document.location.reload(); setTimeout("reload_me()",300000); } //--> </script> <BODY onLoad="reload_me()"> と書いたところ、ロードしてくると同時に次のロードが始まってしまい、 300000という時間が全くきいてないような感じです。 (間髪を入れず無限にリロードが続いている状態) <body>のonLoadに書いてはいけないのでしょうか? それとも書き方がよくないのでしょうか? よろしくお願いします。

  • iframeの中から親ページをスムーズスクロール

    タイトルどおり、iframeの中から親ページをスムーズスクロールしたいと考えています。 ヘッダに <script> $(function() { var topBtn = $('#toTop'); topBtn.click(function () { parent.$('body,html').animate({ scrollTop: 0 }, 500); return false; }); }); </script> 親ページには高さ3000ピクセルのiframeを作って、そこに読み込んでいる子ページ最下部に <div id="gotoTop"><a href="#top_page"><img src="_image/btn_top.jpg" alt="トップに戻る" /></a></div> と記述しています。 この状態で親ページをスムーズスクロールさせることができません。 事情があって、親ページ側にはスクリプトやタグを追加することができません。 親も子もおなじドメインにあります。 ["parent" $('body,html') animate]などのキーワードで検索した記事を参考に parent.$('body,html').animate を window.parent.$("body").animate や $('html, body', window.parent.document).animate に書き換えてみてもうまくいきませんでした。 どうかアドバイスをお願いいたします。

  • ページの更新について

    PHPを使って、データベースの情報を表示できるシステムを作っています。 あるページに情報を入力・登録して以下のスクリプトで対処のページに戻ると正常に入力した情報が更新されます。 (1) function back(sel_sys) { if (sel_sys == "a1"){parent.touroku.location.href="syuhou_kensaku.php";} else if (sel_sys == "b1"){parent.touroku.location.href="souko_kensaku.php";} } <INPUT TYPE="button" VALUE="戻る" onClick="back('<?=$system;?>')"> しかし、以下のスクリプトで戻ると情報が更新されず、F5キーを押さなければ更新されません。 (2) function back(sel_sys) { if(sel_sys == "a1"){ url="http://10.8.2.166/syuhou_kensaku.php?msg="+"1"; window.open(url,"touroku",""); }else if(sel_sys == "b1"){ url="http://10.8.2.166/souko_kensaku.php?msg="+"2"; window.open(url,"touroku",""); } } <INPUT TYPE="button" VALUE="戻る" onClick="back('<?=$system;?>')"> 対象の画面に戻る時、1もしくは2の値を対象のページに返したいので (2)の手法で前ページに戻るようにしました。 質問としては2点ほどあるのですが、(2)の手法で対象のページに戻った時F5を押さなくても入力した情報を更新する事は可能でしょうか? また、(1)の手法で1や2といった”文字”を対象のページに返す事は出来ますでしょうか? どなたかご存知の方がいらっしゃいましたら、アドバイスいただけると幸いです。

  • フレームページのリンクについて

    今、メモ帳でサイトを作っています。そこで、フレームページについてでわからないことがありましたので質問させていただきます。 質問は、縦に分割したフレームで左がメニュー、右がメインページとなったものです。 タグは下のとおりです。 <html> <head> <title> -とっぷ- </title> </head> <body> <center><font face="メイリオ"><br><br><a href="tyuui.html"target="main">ちゅうい</a></font><br> </center> </body> </html> サイトの注意書きを載せたいのですが、これだと別窓に表示されます。 注意書きのページ名はtyuui.htmlで表示する右ページ名はmain.htmlであっています。スペルチェック等も何度もしました。 mainの場所に.htmlをつけても別窓表示されます。 右のページにリンク先を出すには、どうすればいいのでしょうか。 私は極力お金をかけないように、サイトなどで確認・勉強しながらタグ打ちをやっていますので初心者です。説明も分かりにくいかもしれませんが、よろしくお願いします。

このQ&Aのポイント
  • 25, 50, 75, 100のランプが同時に即全点灯しコピーが開始されない事象がおきており、原因についてなにかお心あたりがあればお教えいただくことは可能でしょうか?
  • 旧HDD(約410GB)を新SSD(447GB)へPCを使わずにクローンする方法をお伝えください。コピー元容量<コピー先容量となる箱記載の条件も満たしており手順も問題ないはずで原因わからずにおり、今後は当商品のみでクローンしたく原因を把握したいと考えております。
  • LHR-2BDPU3ESのHDD Bスロットへ新規購入したSSDを装着後、Windows10端末でMBRにてフォーマットしたが、コピーが開始されずに25, 50, 75, 100のランプが同時に点灯する事象が発生しています。MBRで未割り当てとシンプルボリューム割当、GPTに再変換しても同様の現象が発生します。クローンを諦めてMacrium Reflect Freeアプリを使用しWindows10上でクローンすることで回避しています。
回答を見る

専門家に質問してみよう