時刻によって別のページに飛ばすには?
[上に]
[前に]
[次に]
麻衣子
2000/02/02(水) 23:16:50
index.html に <table> や画像を多く(といっても、合計で23KB)使ってる
せいか、テレホになると画像全部を表示する時間が長くなってしまいます。
そこで、23時から2時まではテキスト中心のページ(index2.html)に
飛ばしてみたいのですが、どうすれば良いのでしょうか?
猫
2000/02/02(水) 23:54:16
<SCRIPT><!--
var Now = new Date;
var date = Now.getHours();
if(date == 23 || date == 0 || date == 1){
location.href = "軽いファイル";
}else{
location.href = "いつものファイル";
}
//--></SCRIPT>
なんて,どうです?
麻衣子
2000/02/03(木) 00:49:51
猫さん、はじめまして(^^)
これって、javascript ですよね?
早速、index.html の <head></head> の中に、猫さんのサンプルを書いて
みました。
location.href = "index2.html";
}else{
location.href = "index.html";
にしたんですけど、インターネットエクスプローラーの上の青いバーの
文字が目まぐるしく変わって止まらなくなってしまいました。
どこか書き方が間違ってますか?
(ファイルは index2.html に変わりました)
猫
2000/02/03(木) 02:09:18
僕は何らかのファイルをかませて,そこで振り分けるのかと思ってましたが,重いファイルに直接書くなら
<SCRIPT LANGUAGE="JavaScript"><!--
var Now = new Date;
var date = Now.getHours();
if(date == 23 || date == 0 || date == 1){
location.href = "./index2.html";
}
//--></SCRIPT>
にしたほうが良いと思います.
そうしないと永遠(というか2〜11時まで)にindex.htmlを読んで判定してまたindex.htmlを読みこんで判定してを繰り返します.
だからタイトルバーがめまぐるしく変わるのです.
Joga
2000/02/03(木) 13:54:36
index.htmlに直接書いてしまうと、
どのみち重いindex.htmlを読み込まなければならないので、
本来の目的にかなわないのでは?
なので、index.htmlには「Now loading..」とでも書いて、
<SCRIPT><!--
var Now = new Date;
var date = Now.getHours();
if((date >= 23) && (date <= 2)){
location.href = "index3.html"; //軽いファイル
}else{
location.href = "index2.html"; //いつものファイル
}
//--></SCRIPT>
こういうスクリプトを付け加えて
振り分けるようにしたほうがよいのでは?
Joga
2000/02/03(木) 14:05:54
訂正。
> if((date >= 23) && (date <= 2)){
この条件判断だめぢゃん(^^;)
if((date >= 23) || (date < 2)){
か、猫さんの書くような
if(date == 23 || date == 0 || date == 1){
ぢゃないとだめですね。
EMI
2000/02/03(木) 14:11:10
どうでもいいですが、時刻を表す変数に"date"という名前を付けるのは相当異常ですよ。
hourなどとつけるべきでは?
徒歩
[E-Mail]
[HomePage]
2000/02/03(木) 16:25:24
あっちょうど質問しようとしていたことが・・・(^^
このスクリプトを時間制ではなく日付制で出来ませんかね?
例えば・・・
2月1日はAのページ 2日はBのページ 3日はAのページ・・・
という感じです。
では。
徒歩
[E-Mail]
[HomePage]
2000/02/03(木) 16:32:59
あっちょうど質問しようとしていたことが・・・(^^
このスクリプトを時間制ではなく日付制で出来ませんかね?
例えば・・・
2月1日はAのページ 2日はBのページ 3日はAのページ・・・
という感じです。
では。
猫
2000/02/03(木) 23:15:49
こんばんは
EMIさんのおっしゃる事はごもっともですね.
ここで相当異常な人と見られても構いませんけど.
onLoadで実行されるわけではないので,重いファイルのヘッダに書いておいても良いような気がしますが・・・。気だけ?
■ 軽いファイルに書く(テレホで混んでない時間はいつものファイルに飛ばす)
var Now = new Date;
var hour = Now.getHours();
if(hour > 2 && hour < 22){
location.href = "./index.html";
}
■ いつものファイルに書く(テレホ開始は軽い奴に飛ばす)
var Now = new Date;
var hour = Now.getHours();
if(hour > 1 && hour < 23){
location.href = "./index2.html";
}
ブックマークする人もいるでしょうから,こんな配慮も必要かも.
日付の取得
var Now = new Date;
var date = Now.getDate();
麻衣子
2000/02/03(木) 23:48:06
Jogaさん、はじめまして(^^)
なるほど〜と思いました。トップページは、できるだけ軽くして、時間帯で
飛ばす方がいいのでしょうか?
(猫さんも、最初はそう考えていらっしゃったようですからね)
ただ、猫さんの「重いファイルのヘッダに書いておいても良いような気が
しますが・・・。」というのが気になったんですけど、どうなんでしょう?
すみませんが、どなたか教えてください。
猫
2000/02/04(金) 01:22:29
要は,onLoadのイベントで実行されてるわけではないので,全部読みこまなくても実行される.
だからファイルのサイズは関係無と言う事.
ただ,23kだと全部読みこんでしまう可能性もあるので気だけかもね.
#すごく大きなファイルで実験して見るとわかると思います.
無駄な仕事をさせないのは価値ある事だと思うけど,一つのファイルを経由すると言うことは,必ず2回ファイルをゲットしに行く.これは無駄だと思う.
そして,振り分けられた後のページをブックマークされたのでは意味が無い.
よってindex.htmlとindex2.htmlに僕が前回投稿したコードを書くのがベターではないだろうかと言うこと.
猫
2000/02/04(金) 23:20:52
2000/02/03(木) 23:15:49の投稿の条件式が変ですね。
if(hour > 1 && hour < 23)
と
if(hour < 2 && hour > 22)
で良いかな?
麻衣子
2000/02/04(金) 23:27:13
>if(hour > 2 && hour < 22){
と
>if(hour > 1 && hour < 23){
ですが、またまたエンドレス状態…(^^;
if(hour >= 2 && hour < 23){
と
if(hour < 2 && hour >= 23){
にすればいいのでしょうか?
( >= ってのが許されるのか知りませんが…)
ただの思い付き
2000/02/05(土) 02:48:07
軽い方にかくときは23〜2以外の時間なワケだから、
if (hour > 2 && hour < 23)
でいいワケです。
重い方に書く時は逆に23〜2の間なワケだから、
if (hour <= 2 && hour >= 23)
でいいはず。
じゃ。
あきゃ
2000/02/05(土) 18:02:02
うーん、
軽い方に書く条件式は
if(hour >= 2 && hour < 23)
2時以降で22時59分まで
で、
重い方に書く条件式は
if(hour < 2 || hour >= 23)
23時から1時59分までなんだけど、
数直線上では2より小さい「もしくは」23以上。
なので、
>でいいはず。
よくないです。(^^;
ただの思い付き
2000/02/05(土) 23:47:56
全くその通り、申し訳ない、
麻衣子
2000/02/06(日) 00:22:19
[[解決]]
ただの思い付きさん、あきゃさん、有難う御座います(^^)
肝心のテキストのページが出来てませんが、時間によって
飛ばすことができました。
猫さんも、いろいろご指導いただき有難う御座いました。
解決です!
[上に]
[前に]
[次に]