曜日で画像を変更したいのですが、
パソコンの日付設定に依存しないで作ることはできますか?
たとえば、月曜日なのにパソコンの設定が間違えて
火曜日になっているとその設定で画像が表示されてしまい困っています。
使っているソースは以下です。
どなたかお詳しい方教えてください。
よろしくお願いします。
<!-- 曜日画像 -->
<center>
<SCRIPT LANGUAGE="JavaScript">
URL="";
GA=new Array(
"img/日曜の画像","img/月曜の画像","img/火曜日の画像","img/水曜日の画像","img/木曜日の画像","img/金曜日の画像","img/土曜日の画像");
day=new Date();
document.write("<img src="+URL+GA[day.getDay()]+">");
</SCRIPT>
</center>
<!-- 曜日画像 -->
No.3ベストアンサー
- 回答日時:
#2です。
曜日の変数の値を入れ代えればいいだけなのですけれど…?
全体がどうなっているのかわかりませんが、document.writeを使うとスクリプトをオフにしているユーザの場合何も表示されないので、デフォルトを表示しておいて後で入替える方がよろしいかと思います。
>パソコンの設定が間違えて火曜日になっていると~
とのことですが、そんな人が何人いるんでしょうかねぇ…
#2の例では時刻から曜日を換算するのに、PCに設定されているタイムゾーンを使っていますので、その設定が違っているとやはり曜日の判断が狂う可能性があります。
それも防止したいのなら、世界標準時でそのまま判断すれば間違いないですが、標準時以外(=日本)でブラウズする人にとっては常に時刻がずれていることになってしまいます。
タイムゾーンを日本に限定して9時間の固定にしてしまえばPCの設定には依存しないようにもできますが、他のタイムゾーンからアクセスした場合には、ローカルの時刻と必ずずれが生じてしまうというジレンマに陥ります。
というわけで、ほぼ正確な時刻を取得はできますが、このあたりが解決できていません。
(「ほぼ正確」=サーバは正確な時刻を返すはずですが、通信に時間がかかるので若干の誤差がでます)
とりあえず、ローカルPCのタイムゾーン設定を利用したままの例
*元のスクリプトにurlという変数を持ちながら利用していないみたいなので利用してください。
*画像の拡張子も(多分)共通だと思いますので、拡張子も共通にしました。
* url(画像のurl)、extention(画像の拡張子)、ga(画像名の配列)などを、設定する必要があります。
*表示対象とする要素は、とりあえず id="target" のimgにしてあります。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head><title>sample</title>
<meta http-equiv="Content-Script-Type" content="text/javascript">
</head>
<body>
<div>
<img id="target" src="default.jpg" alt="image">
</div>
<script type="text/javascript">
<!--
function jsont(json){
var url = "img/"; //←画像の共通url
var extention = ".jpg"; //←画像の拡張子
var ga = ["sun","mon","tue","wed","thu","fri","sat"]; //←日~土の画像名(拡張子抜き)
var week = new Date(json["st"]*1000).getDay();
document.getElementById("target").src = url + ga[week] + extention;
}
//-->
</script>
<script type="text/javascript" src="http://ntp-a1.nict.go.jp/cgi-bin/jsont"></script>
</body>
</html>
fujillinさん
丁寧なコメントありがとうございました!!!!
fujillinさんのおかげで無事解決することができました。
今後も色々勉強していこうと思います。
No.2
- 回答日時:
スクリプトのDate()はローカルPCの時計に依存していますので、外部のサーバから時刻(日付)を取得すれば可能かと。
質問者様の契約サーバからでもよいですし、以下のサイトでも時刻送信のサービスを行なっているようです。
http://www2.nict.go.jp/w/w114/tsp/JST/JST5.html
後者を利用した例: (変数weekに曜日(0~6)を取得しています)
<script type="text/javascript">
<!--
function jsont(json){
var week = new Date(json["st"]*1000).getDay();
alert("日月火水木金土".split("")[week] + "曜日です");
}
//-->
</script>
<script type="text/javascript" src="http://ntp-a1.nict.go.jp/cgi-bin/jsont"></script>
fujillinさん、さっそくのご回答ありがとうございます!!
困っていたのでとても助かりました!
アラートを出さずに、画像を出すことは可能でしょうか?
勉強不足で質問ばかりで申し訳ないです・・・
No.1
- 回答日時:
こんちくは。
>>パソコンの日付設定に依存しないで作ることはできますか?
んー。でも、持って来る「元」は必要なので、
クライアント依存かサーバ依存かのどっちかになるのは確定だと思いますよ?
サーバ側のシステム時間設定持ってきても、そっちがズレてりゃそれはそれでおしまい。ですからねぇ。
まぁそれは置いといて。。。と。
そもそもサーバ側のスクリプト言語で作るようにするとか
非同期でサーバから持ってくるとか
そんなもんかなぁ。と。
前者については、ASPなり、Perlなり、PHPなり。。。の言語かなと。
そっちの方はサーバ上で動くもんですし、そっちから吐き出すようにしてやれば容易かな。と。
後者については。。。
まぁ、おいらもお勉強不足なので大層なこたいえませんが、
サンプルだけ見つけたのでポイと。
http://oshiete.goo.ne.jp/qa/5991798.html
取得データ加工すれば曜日判断できそうですし使えるな~。と。
思ってもみました。
STICKY2006さん、さっそくのご回答ありがとうございました!
サンプル見てみますね。
できそうだということで、やる気がでてきました。
本当にありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- その他(開発・運用・管理) フォルダの中にファルダを作成してファイルを格納するバッチコマンド 1 2022/06/30 11:39
- HTML・CSS ブロックエディターで作りつつ、画像を挿入しつつ、画像にスタイルシートのコードを付ける方法はありますか 1 2022/08/23 18:46
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- HTML・CSS PCサイズで赤い画像2つと、青い画像2つがそれぞれ横に2つずつ並んでいるのですが、これをスマホサイズ 5 2022/04/11 12:01
- Perl 画像が表示でnull; this.src 1 2022/04/19 11:31
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- PHP PHP echo バックスラッシュの使い方 img要素 2 2023/01/08 22:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スライダーを実装した場合、ペ...
-
lightbox2をiframeから外に表示...
-
javascript keisanとlook
-
画像クリック→メッセージボック...
-
JAVASCRIPTでアクセス毎に画像...
-
画面の表示位置を指定させて表...
-
オンマウスで、画像切り替え+...
-
Gifアニメ、最後のコマに行った...
-
Javascriptで指定した日付と時...
-
画像と説明文を別データで作りたい
-
【java】背景画像を一定時間で...
-
MAX関数を使ってからLEFT JOIN...
-
c++std::string型をTCHARに変換...
-
htmlの記述で link rel=styles...
-
JQueryで画像の上で文字を動かす
-
ロールオーバー効果にならない。
-
jspでcssが読み込めない
-
離れた場所にマウスオーバーで...
-
フォントサイズの変更
-
変数内容をHTML内で表示する方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
textareaに画像を表示したい
-
JavaScript スライドの画像にリ...
-
1枚の画像をクリックして複数の...
-
HTMLで条件分岐はできますか?
-
Javascript で共通の処理をどこ...
-
Gifアニメ、最後のコマに行った...
-
JavaScriptとチェックボックス...
-
画像の重なりの順序を代える方...
-
画像ランダム表示、しかしダブ...
-
javascriptで毎月替わる画像
-
1枚の画像をクリックすると複数...
-
オンマウスで、画像切り替え+...
-
透過pngの透明部分以外をクリッ...
-
Javascriptで指定した日付と時...
-
jQueryスライドショー画像への...
-
JavaScript で flexslider の画...
-
lightbox2をiframeから外に表示...
-
重なった画像にクリックイベン...
-
Twitterの埋め込みしたWebペー...
-
画像をフォルダに入れれば表示...
おすすめ情報