アプリ版:「スタンプのみでお礼する」機能のリリースについて

わからないので教えて下さい。

トップページを平日の夜9時~10時まで別のページで表示させたいのですが、そういうことができるCGIまたはjavaがありますか?
参考になるページなどありましたら教えて下さい。
よろしくお願いします。

A 回答 (5件)

曜日を変えたいのなら以下を書き換えてください。


if( tday != "火" && tday != "土" && hour >= 19 && hour <=22 )

hour >= 19 && hour <= 22
これが19時以降22時59分59秒以内の指定です。
すいません今まで間違ってました。
これだと21時から23時までです。

tday != "火" && tday != "土"
これが曜日の指定です。
「火曜日」でも「土曜日」でも「ない」ときジャンプします。
つまり火曜日と土曜日を「例外指定(!=)」しています。

&& で条件をつなげるとANDで || でつなげるとORです。
ORは条件を絞るのが難しくなるので使わないほうがよいかと。

火曜日の夜9時から夜10時までindex2.htmlにジャンプさせたければ
if( tday == "火" && hour == 21 ) document.location.href = "index2.html";
です。
今日が火曜日で(tday == "火")かつ
時間が21つまり21時00分00秒から21時59分59秒までの間(hour == 21)
index2.htmlにジャンプさせます。
    • good
    • 0
この回答へのお礼

mazimekko3さん、大変助かりました。
説明もわかりやすくて、本当にありがとうございました。

お礼日時:2007/03/14 10:14

すいませんミスってます。



<script language="javascript">
function timer(){
var date = new Date();
var week = new Array('日','月','火','水','木','金','土');
tday = week[date.getDay()];
var hour = date.getHours();
if( tday != "金" && tday != "土" && hour >= 21 && hour <=22 ) document.location.href = "URL";
}
</script>

です。
tday = week[now.getDay()]; を
tday = week[date.getDay()];
に直してください。
今製作中のページから引っ張ってきたもので
変数の整合を取ってませんでした。

この回答への補足

mazimekko3さん、何度もすみません。

<script language="javascript">
function timer(){
var date = new Date();
var week = new Array('日','月','火','水','木','金','土');
tday = week[date.getDay()];
var hour = date.getHours();
if( tday != "火" && tday != "土" && hour >= 19 && hour <=22 ) document.location.href = "index02.html";
}
</script>

テストで今日は火曜なのでこういうふうに書いてやってみたのですが、ページが変わりません。
なぜでしょうーーー。
質問ばかりですみません。

補足日時:2007/03/13 19:41
    • good
    • 0

javascript で行なうと、実はソースに書いてある。

かつ PCの時間に依存しているため、PCの時間がくるってると、表示されるというのがあります。

これをperlでやる場合、
平日(月 - 金)の21:00:00 - 22:59:59 を other.html
上記以外を normal.html
とすると、

#!/usr/bin/perl -w

use strict;
use CGI;
use HTML::Template;
use Date::Calc qw(:all);

my @now = Now();
my $tmpl = "normal.html";
$tmpl = "other.html" if( check_business_date( Today() ) and $now[0] >= 21 and $now[0] <= 22 );
my $template = HTML::Template->new( filename => $tmpl );
print CGI->new->header;
print $template->output;

です。

CGI.pm, HTML::Template, Date::Calc が必要です。

この回答への補足

panerai777さん、ありがとうございます。
でも、perl わからないのです。
申し訳ないです。

補足日時:2007/03/13 18:19
    • good
    • 0

<script language="javascript">


function timer(){
var date = new Date();
var week = new Array('日','月','火','水','木','金','土');
tday = week[now.getDay()];
var hour = date.getHours();
if( tday != "金" && tday != "土" && hour >= 21 && hour <=22 ) document.location.href = "URL";
}
</script>

に変更してみてください。

この回答への補足

すみません、お名前を間違えていました。
mazimekko3さん、改めてありがとうございます。
こちらをコピペしてやってみたのですが、ページでエラーが出ました。
「'now'」は宣言されていません」と出ます。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<title>テストです</title>
<script language="javascript">
function timer(){
var date = new Date();
var week = new Array('日','月','火','水','木','金','土');
tday = week[now.getDay()];
var hour = date.getHours();
if( tday != "火" && tday != "水" && hour >= 18 && hour <=19 ) document.location.href = "index02.html";
}
</script>
</head>

<body onload="timer();">
テストです。
</body>
</html>

というふうに書いたのですが。。。
すみません。
どこで間違ったのでしょうか。
教えてください。お願いいたします。

補足日時:2007/03/13 18:16
    • good
    • 0

<script language="javascript">


function timer(){
date = new Date();
hour = date.getHours();
if( hour >= 21 && hour <=22 ) document.location.href = "URL";
}
</script>

をhead部に記述

<body onload="timer();">
に変更してみてください。

この回答への補足

ANo.1さん、ありがとうございます!!
変わりました!!

が、もうひとつ難題が。。。
金、土曜日は変更したくないのですが、曜日指定もできますか?

最初の質問に一緒に書けばよかったのですが、すみません。
わかりましたら教えていただけますか?

補足日時:2007/03/13 16:13
    • good
    • 0

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