OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
締切り
済み

子フレームの自動リロードは可能でしょうか?

  • 困ってます
  • 質問No.139635
  • 閲覧数2148
  • ありがとう数1
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 20% (56/270)

フレームで2つに分割されたページ(frameset.htm)があるとします。
そのうち、一つのフレーム(menu.htm,name=MENU)はメニューとして常に表示されています。
もう一つのフレーム(name=MAIN)にはその時々でいろんなページが表示されます。

仮に、例えば60秒おきとかで、MAINにその瞬間に表示されているページを、
frameset.htmもmenu.htmもリロードせずに、
自動的にリロードさせることは出来ますか?
MAINに表示させるページは閲覧者により手動でも変えられるようになっているため、リロードの瞬間にどのページが表示されているかは不定です。

なお、MAINに表示させるページ内に、Java ScriptやMETAタグは追加できない条件です。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全4件)

  • 回答No.1

 フリーCGIプログラムのチャットで、2分割フレームになっているのを見たことがあります。  上のフレームで発言を記入するのですが、何もしなくとも下のフレーム(ログが表示されている)は指定した秒間が過ぎると自動リロードされました。  自動リロードという点から考えて、チャットプログラムを御参考にされてはいかがでしょうか。  Perl言語についてあまり詳しくないのでどこまでできるのかわかりませんが、応用で ...続きを読む
 フリーCGIプログラムのチャットで、2分割フレームになっているのを見たことがあります。
 上のフレームで発言を記入するのですが、何もしなくとも下のフレーム(ログが表示されている)は指定した秒間が過ぎると自動リロードされました。
 自動リロードという点から考えて、チャットプログラムを御参考にされてはいかがでしょうか。
 Perl言語についてあまり詳しくないのでどこまでできるのかわかりませんが、応用で可能になるのではないかと思えたので、ご参考になればと思い書きました。
 ただ、[MAINに表示させるページ内に、Java ScriptやMETAタグは追加できない条件]に合うかどうかもわたしには技量がなくて判断できませんが、、
補足コメント
kazu-kun

お礼率 20% (56/270)

お答えいただきましたが、よくあるチャットスクリプトの自動リロードは、METAタグを利用しているだけなので、今回使えないのです。
投稿日時 - 2001-09-22 16:16:06


  • 回答No.2
レベル12

ベストアンサー率 75% (398/526)

frameset.htmは書き換えOKですか? だとすれば、frameset.htmに下記のJavaScript関数を加え、何らかのタイミングで呼び出せば目的の動作を行えます。 <SCRIPT language="JavaScript"><!-- function reload_frame() {   frames["MAIN"].lo ...続きを読む
frameset.htmは書き換えOKですか?
だとすれば、frameset.htmに下記のJavaScript関数を加え、何らかのタイミングで呼び出せば目的の動作を行えます。
<SCRIPT language="JavaScript"><!--
function reload_frame()
{
  frames["MAIN"].location.reload();
  setTimeout("reload_frame()", 60000):
}
//--></SCRIPT>

関数内の1行目が、フレームMAINのリロードを行います。
2行目で、この関数を60秒後に再実行するようにセットしています。
(setTimeoutの2番目の引数には、再実行までの時間をミリ秒単位で指定します。)

また、この関数は初め外部から実行しなければならないため、BODYのonLoad辺りから呼び出すようにしておくとよいでしょう。
<BODY onLoad="reload_frame()">
補足コメント
kazu-kun

お礼率 20% (56/270)

教えていただいたのを参考にやってみていますが、未だ、上手く行っていません。全くリロードされません。onLoadは実行されているのは確かめたのですが。
投稿日時 - 2001-09-23 15:36:09
  • 回答No.3
レベル11

ベストアンサー率 30% (75/244)

Java ScriptやMETAタグを使わずにリロードさせるのは、私もわかりません。 ブラウザのリロードは、クライアント側の作業だと思うので、CGIなどのサーバー側のプログラムではできないと思います。 ちなみに、なぜJava ScriptやMETAタグが使えないのでしょう。
Java ScriptやMETAタグを使わずにリロードさせるのは、私もわかりません。
ブラウザのリロードは、クライアント側の作業だと思うので、CGIなどのサーバー側のプログラムではできないと思います。

ちなみに、なぜJava ScriptやMETAタグが使えないのでしょう。
  • 回答No.4
レベル12

ベストアンサー率 75% (398/526)

すみません、前回BODYのonLoadで、とか書いてしまいましたが、フレームの方に全て書かなければならないので、FRAMESETのonLoadでした。 自分のところで動作確認済みのソースを下記に挙げますので、参考にしてみて下さい。 <HTML> <HEAD> <SCRIPT language="JavaScript"><!-- f ...続きを読む
すみません、前回BODYのonLoadで、とか書いてしまいましたが、フレームの方に全て書かなければならないので、FRAMESETのonLoadでした。
自分のところで動作確認済みのソースを下記に挙げますので、参考にしてみて下さい。

<HTML>
<HEAD>
<SCRIPT language="JavaScript"><!--
function reload_frame()
{
  frames["MAIN"].location.reload();
  setTimeout("reload_frame()", 500);
}
//--></SCRIPT>
</HEAD>
<FRAMESET ROWS="64,*" onLoad="reload_frame()">
 <FRAME SRC="menu.html" NAME="MENU">
 <FRAME SRC="main1.html" NAME="MAIN">
</FRAMESET>
</HTML>

※ブラウザ上での見易さを考慮して、全角スペースを使用しています。
お礼コメント
kazu-kun

お礼率 20% (56/270)

お答えありがとうございました。
こちらでも試してみたところ、特定の条件(*1)のもと、動作することが確認できました。

*1:このJavaScriptを実行するHTML文書と、reloadの対象となるHTML文書が、ともに同じサーバー上またはともにローカルにある時に限るようです。それ以外ではエラーになります。前回、上手く動作していなかったのはこのせいだったようです。

セキュリティ上の制限でこのようになっているのでしょうか?
私は、複数のサーバーにサイトを持っているので、この制限がないほうが良いのですが、おそらく無理ですよね?

また、同じサーバーという判断がURLのどの部分で判断されているのか、が不明です。サーバー名のみで判断しているのか、パスの部分も含んでいるのですのかね?

もし上記の疑問に回答をお持ちでしたら、再度回答いただければ幸いです。
投稿日時 - 2001-10-03 21:06:01
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ