ブラウザがネスケの場合、自動的にリロードさせたいと思っています。
また、ウィンドウのサイズを変えた時にもリロードさせたいのです。

いろいろ試してみているのですが、行き詰まってしまったので助けてください。
宜しくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

ウィンドウのサイズを変えた時にリロードさせるには、



window.onresize = rebuild;
function rebuild(){ location.reload();}

のようにして、resize イベントの発生時にリロードすればいいと思います。
Netscape 4.x のみ処理させたい場合は

if (document.layers)

という条件文を付け加えます。詳細は
http://www2s.biglobe.ne.jp/~club_tom/java-kouza/ …
や参考サイト
http://www.openspc2.org/reibun/javascript/specia …
をご覧ください。

参考URL:http://www.openspc2.org/reibun/javascript/specia …

この回答への補足

お答えありがとうございます。

ネスケだとアクセスしたとき画面表示されない時(バックグラウンドイメージのみ)があるのです。
ですが、リロードすると正常に表示します。
そこでネスケだった時に強制的にリロードをかけようと思ったのです。

resize時ではなくloadした時に再読み込みをうながすようにするにはどうすればよいでしょうか?

補足日時:2002/01/30 12:57
    • good
    • 0

こんにちは。


画像表示の問題であれば、ページのリロードで対応する以外には、ヘッダにプレロード用のスクリプトを書いておくというのはどうでしょうか?
http://www.openspc2.org/reibun/javascript/image/ …
など。
これと、リサイズ時の再読み込み(NN4.x用のもの)を組み合わせたらちょうど良いかもしれません。
    • good
    • 0
この回答へのお礼

そのようなスクリプトがあるのですね。。
とても参考になりました。

お礼日時:2002/02/28 11:03

KOTAERU No.#2 の「補足」に対する回答です。



ページをロードしたときにリロードするようにすると、そのページを無限にリロードしてしまいますので、Cookie に情報を保存するなどして、2 回目以降はリロードしないようにするといいと思います。

ですが、これはちょっと面倒なので、答えになっていませんが

<script type="text/javascript">
<!--
if (document.layers){
document.write("<p>Netscape 4.x をご利用の方は…【以下略】<\/p>");
}
-->
</script>

のようにして、Netscape 4.x の場合はメッセージを表示させるようにするのが手っ取り早いかと思います。
    • good
    • 0
この回答へのお礼

クッキーで無限にリロードを止める方法があったのですね。
参考になりました、ありがとうございます。

お礼日時:2002/02/28 11:04

はじめまして、milkteaさん。



Windows Netscape4.Xであれば、ブラウザ(ウインドウ)をリサイズすると
自動で再読込みされたように思います。

また、「1.ネスケの場合の判断」と「2.リロード」について。

1.ネスケの判断方法は色々ありますが、今回は
 「IEのみで存在するオブジェクトを参照してなかったので」という判断を使って。
 ※他、ネスケでのみ存在するオブジェクト参照をつかったり、ブラウザ種類を
  取得して判断する方法と色々あります。

2.リピートタイムを設定して自分自身(ページ)をリロードする。
  #例は 60秒

サンプルを以下に。

がんばって下さい。

+++++

<html>
<head>
<SCRIPT LANGUAGE="JavaScript">
<!--
if( !document.all ) {
tval=setTimeout("myself_relord()",60000);
}
function myself_relord()
{
location.reload();
}
// -->
</SCRIPT>
</head>

<body>
このページの表示データを
</body>
</html>
    • good
    • 0

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

このQ&Aと関連する良く見られている質問

Qブラウザの「戻る」ボタンを押した時にリロードさせる

ブラウザの「戻る」ボタンを押して前のページに戻った時に1回だけページを
リロードさせたいのですが、IEでは下記のようにすれば上手く出来ました。

<script type="text/javascript">
<!--
window.onunload = function(){location.reload();}
-->
</script>

しかしながら、上記では他のブラウザ(Firefox・Opera・Safai・Google Chrome等)では
リロードされません。

全てのブラウザで上手くリロードさせる方法はないでしょうか。

宜しくお願い致します。

Aベストアンサー

window.onbeforeunload = function(){location.reload(true);}

Qブラウザの表示領域から高さを指定、ブラウザを動かしても可変させたい。

ブラウザの表示領域から高さを指定、ブラウザを動かしても可変させたい。

ブラウザのスクロールバーのように、
ブラウザの表示領域を取得してdivのボックスのサイズを取得して、
それに合わせてボックスの高さを指定し、
overflow:autoでスクロールバーが出るようにしたいと考えております。
サイズの取得までは.clientHeightを使ってできたのですが、
表示後にブラウザを動かすと合わせて可変するようにすることができず困っております。


上記を実現する方法がおわかりの方がいらっしゃれば、
是非ご教授いただければと思います。

Aベストアンサー

No1です。

ご提示のコード(No1の補足)では、単に以下のようなCSSを作成しているだけです。
  <style type="text/css"> .hoge { height:○○px; } </style>
○○の部分は数字で、document.allがある場合(IE)はbodyの高さ、そうでない場合でモダンブラウザならinnerHeightが入ることになります。
後半がいきなりinnerHeightになっているので、対象が何か不明です。(なんだかおかしいですね)
innerHTMLは通常は属性なのでそのもととなる要素があるはずなのですが、ご提示のコードではそれがありません。(withで指定?)あるいは、考えにくいことですが、innerHTMLをローカル変数に使っているとするならどこかで値を代入しているはずで、その部分が提示されていないので不明です。
さらに言うなら、その場合分け自体がすでに古い場合分けの方法なので、現状にあっているのか少々疑問です。


>今回jScrollPane.jsというjavascriptでスクロールバーをカスタマイズしており、
>上記方法では最初のサイズで固定されてしまい、
ご提示のコードだと「○○px」と数値で指定していますので、ご質問の通り固定サイズになっています。
No2様が示されているように、%指定などの相対指定にしておけば、リサイズされても相対的に変化してくれるので、何もしなくてもOKということになります。
ただし、 .hoge { height:100%; } とした場合、該当する要素がどのように構成されているかによって、実際のサイズが決まるので、ご提示の情報だけからではわかりません。
でも、相対指定を利用することで解決できる可能性はありそうですね。


No1で説明した方法ですと、同じルーチンを再実行するのではうまくいきません。(回答時に、document.writeを使っているなんて予想していなかったので)
正攻法でいくならリサイズイベントが発生した時に、スタイルシートを取得して、.hogeの記述を探し、あったらその内容を変更するという少々面倒な処理を追加することになります。
それよりはclass="hoge"の要素(スクリプトで生成される要素?)が都度生成されるものではなく、常に決まっているのであれば、そちらのスタイルを直接変更してしまったほうが簡単です。要素が可変(後で生成されるなど)の場合はスタイルシートを変更するしかないかも。

いずれにしろ、CSSだけで解決できるのなら、そのほうが遥かに簡単です。

No1です。

ご提示のコード(No1の補足)では、単に以下のようなCSSを作成しているだけです。
  <style type="text/css"> .hoge { height:○○px; } </style>
○○の部分は数字で、document.allがある場合(IE)はbodyの高さ、そうでない場合でモダンブラウザならinnerHeightが入ることになります。
後半がいきなりinnerHeightになっているので、対象が何か不明です。(なんだかおかしいですね)
innerHTMLは通常は属性なのでそのもととなる要素があるはずなのですが、ご提示のコードではそれがありません。(with...続きを読む

Qリロードさせるには?

時間ごとに表示させる画像を変えるスクリプトを作成したのは
よいのですが、時間が切り替わるとき、3時から4時など
閲覧している時に画像を切り替えるには、どのようにしたら
よいのでしょうか?

時間が切り替わったときに、1回リロードをかければ
よいのはでは?と思うのですが、どうしてもわかりません。

ご教授よろしくお願いいたします。

Aベストアンサー

現状、どのようなスクリプトで時間ごとの画像の表示を切り替えているかがわからないので、とりあえず時間が変わるごとにリロードをかける方法についてアドバイスします。

時間が切り替わるごとにリロードをかける場合は、ローカルの時間を継続的に取得していき、特定の値が変わったときにリロードをかけるようにすればよいでしょう。
一例を挙げてみます。

now0= new Date();
hr0= now0.getHours();

function TMRL(){
now=new Date();
hr=now.getHours();
if (hr!=hr0){
location.reload();}
}

RL=setInterval("TMRL()",60000);

スクリプト中に以上のような記述を入れれば、時間が変わるごとにページをリロードします。 スクリプトの動作を説明すると、

 始め(スクリプトがロードされた時点)に現在時刻を取得し、それを変数hr0に格納します。
 その次は関数の定義で、この関数の実行時に改めて現在時刻を取得し、変数hrに今の時間を格納して、hrとhr0の値を比較します。 値が異なれば、時間が変わったということですから、そのときはリロードを行います。
 関数のあとの部分は、RLというIDをつけて、1分(60000ミリ秒)ごとに関数TMRL()を実行させるようにしています。

これで実現可能だと思います。 なお、RL=setInterval("TMRL()",60000)の第二引数を変えれば、関数を実行する時間間隔を変更することができます。

ただ、閲覧側としては、意図しないところでリロードを始められると、不快感があるかもしれません。 一定時間ごとにリロードがかかることをページ上で注意しておくか、あるいは画像の変更を、一定時間ごとに画像のロールオーバー効果で処理させるスクリプトにした方が、スマートなページになると思います。

参考になれば幸いです。

現状、どのようなスクリプトで時間ごとの画像の表示を切り替えているかがわからないので、とりあえず時間が変わるごとにリロードをかける方法についてアドバイスします。

時間が切り替わるごとにリロードをかける場合は、ローカルの時間を継続的に取得していき、特定の値が変わったときにリロードをかけるようにすればよいでしょう。
一例を挙げてみます。

now0= new Date();
hr0= now0.getHours();

function TMRL(){
now=new Date();
hr=now.getHours();
if (hr!=hr0){
location.reload();}
...続きを読む

Qリロードさせないワザ

一度開いたページを、それ以後リロードできないようにするワザはありますか。

もしくは、下記のページを2度目にリロードしたらwindow.openをさせない方法でもけっこうです。

(例)
----ここから----
<SCRIPT language=JavaScript>
window.open("next.htm")
</SCRIPT>

本文ほげほげ・・・

----ここまで----

Aベストアンサー

リロードさせない、ってのは無理です。

window.open だったら、適当な target を指定すれば前回開いたウィンドウに表示されるので、複数開いてしまうのは防げます。
 window.open("next.htm", "nextwin");

あるいは window.open の戻値を保存しておき、BODY の onUnload で close() する、というのも手です。
 win = window.open("next.htm");
および
 <BODY onUnload="win.close()">
こうすると、リロードの際にサブウィンドウが一旦閉じられます。

ただ、これらの方法はリロードの度に next.htm を開き直すので、それがまずい場合はセッションクッキーを利用し、セッションクッキーがない時だけ開くようにすると良いかもしれません。
 if (document.cookie.indexOf("nextwin=1") == -1) {
   document.cookie = "nextwin=1";
   window.open('next.htm');
 }

リロードさせない、ってのは無理です。

window.open だったら、適当な target を指定すれば前回開いたウィンドウに表示されるので、複数開いてしまうのは防げます。
 window.open("next.htm", "nextwin");

あるいは window.open の戻値を保存しておき、BODY の onUnload で close() する、というのも手です。
 win = window.open("next.htm");
および
 <BODY onUnload="win.close()">
こうすると、リロードの際にサブウィンドウが一旦閉じられます。

ただ、これらの方法はリロードの度に next.ht...続きを読む

Q親ウインドのASPをリロードさせたい

題名通りで、子ウインドをCloseする際に、親ウインドをリロードさせたいんです。
子ウインドで、
<Script Language="JavaScript">
window.opener.location.reload()
window.close()
</Script>
と書いてみたんですけど、変わってる形跡が無いんですー(-_-;)

Aベストアンサー

書かれているスクリプトをIE5.5で実行したところ問題はありませんでした。
ちなみにフレーム分割もしています。

効果があるかわかりませんが

window.opener.self.location.reload();

このように明確にウィンドウを指定して見てください。

window.opener.parent.親ウィンドウ名.location.reload();

これでもうまく行きました。
また、

window.opener.top.location.reload();

これはフレーム画面そのものを更新します。
これでだめならウィンドウの親子関係そのものに問題があるかもしれません。
あと、よろしければ使用ブラウザを教えていただけませんか。


人気Q&Aランキング

おすすめ情報