PC設定に依存しない曜日判定JSについて

このQ&Aのポイント
  • パソコン設定に関係なく曜日で画像を変更する方法について教えてください
  • パソコンの日付設定によらずに曜日で画像を表示するJavascriptのコードについて詳しく教えてください
  • 曜日で画像を切り替えるために、パソコンの設定に依存しないJavascriptの方法があれば教えてください
回答を見る
  • ベストアンサー

PC設定に依存しない曜日判定JSについて

曜日で画像を変更したいのですが、 パソコンの日付設定に依存しないで作ることはできますか? たとえば、月曜日なのにパソコンの設定が間違えて 火曜日になっているとその設定で画像が表示されてしまい困っています。 使っているソースは以下です。 どなたかお詳しい方教えてください。 よろしくお願いします。 <!-- 曜日画像 --> <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> <!-- 曜日画像 -->

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答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>

ichigo-tounyuu
質問者

お礼

fujillinさん 丁寧なコメントありがとうございました!!!! fujillinさんのおかげで無事解決することができました。 今後も色々勉強していこうと思います。

その他の回答 (2)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答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>

ichigo-tounyuu
質問者

お礼

fujillinさん、さっそくのご回答ありがとうございます!! 困っていたのでとても助かりました! アラートを出さずに、画像を出すことは可能でしょうか? 勉強不足で質問ばかりで申し訳ないです・・・

  • STICKY2006
  • ベストアンサー率29% (1536/5269)
回答No.1

こんちくは。 >>パソコンの日付設定に依存しないで作ることはできますか? んー。でも、持って来る「元」は必要なので、 クライアント依存かサーバ依存かのどっちかになるのは確定だと思いますよ? サーバ側のシステム時間設定持ってきても、そっちがズレてりゃそれはそれでおしまい。ですからねぇ。 まぁそれは置いといて。。。と。 そもそもサーバ側のスクリプト言語で作るようにするとか 非同期でサーバから持ってくるとか そんなもんかなぁ。と。 前者については、ASPなり、Perlなり、PHPなり。。。の言語かなと。 そっちの方はサーバ上で動くもんですし、そっちから吐き出すようにしてやれば容易かな。と。 後者については。。。 まぁ、おいらもお勉強不足なので大層なこたいえませんが、 サンプルだけ見つけたのでポイと。 http://okwave.jp/qa/q5991798.html 取得データ加工すれば曜日判断できそうですし使えるな~。と。 思ってもみました。

ichigo-tounyuu
質問者

お礼

STICKY2006さん、さっそくのご回答ありがとうございました! サンプル見てみますね。 できそうだということで、やる気がでてきました。 本当にありがとうございます。

関連するQ&A

  • 曜日別背景画像の固定

    曜日別に背景画像を出す方法は下記のようになりますが、それを曜日ごとに背景画像の位置を固定する方法はどうしたら良いのでしょうか? 例えば月曜日の背景画像を右上に固定したり、金曜日の背景画像を左下に固定したりする方法です。 <script type="text/javascript"> <!-- wkimg = new Array(); wkimg[0] = "日曜日の画像URL"; wkimg[1] = "月曜日の画像URL"; wkimg[2] = "火曜日の画像URL"; wkimg[3] = "水曜日の画像URL"; wkimg[4] = "木曜日の画像URL"; wkimg[5] = "金曜日の画像URL"; wkimg[6] = "土曜日の画像URL"; xx = new Date(); document.write('<img src="'+ wkimg[xx.getDay()] +'">'); // --> </script>

  • 曜日毎に(画像+リンク)を変えたい

    java練習中の物です。曜日毎に画像とリンクを合わせて変えていきたいのですが画像がうまく表示されません。どなたかわかるかたお願いします。 <script type="text/javascript"> <!-- var jmp = new Array(); var myimg = new Array(); jmp[0] = "http://www.yahoo.co.jp/"; jmp[1] = "http://dailynews.yahoo.co.jp/fc/local/kirishima_volcano/?1296624971"; jmp[2] = "http://okwave.jp/qa/q5601548.html"; jmp[3] = "http://www.bb-roller.net/king/reason.php?bd=mf_011"; jmp[4] = "http://javascript.eweb-design.com/0804_ri.html"; jmp[5] = "http://www.yahoo.co.jp/"; jmp[6] = "http://www.livedoor.com/"; myimg[0] = '<img src="img/1.jpg" alt="日曜日">'; myimg[1] = '<img src="img/2.jpg" alt="月曜日">'; myimg[2] = '<img src="img/3.jpg" alt="火曜日">'; myimg[3] = '<img src="img/4.jpg" alt="水曜日">'; myimg[4] = '<img src="img/5.jpg" alt="木曜日">'; myimg[5] = '<img src="img/6.jpg" alt="金曜日">'; myimg[6] = '<img src="img/7.jpg" alt="土曜日">'; var mynow = new Date(); var myweek = mynow.getDay(); document.write("<a href='"+jmp[myweek]+"'><img src="+myimg[myweek]+"></a>"); </script>

  • java 曜日毎に画像切り替え _blank

    曜日ごとに画像を切り替えするスクリプトに、リンク先を指定しています。 そのリンクを別窓(target="_blank")にしたいのですが、反映してくれません。 -------------------------- var jmp = new Array(); var myimg = new Array(); jmp[0] = "URL1"; jmp[1] = "URL2"; jmp[2] = "URL3"; jmp[3] = "URL4"; myimg[0] = '<img src="画像1" alt="">'; myimg[1] = '<img src="画像2" alt="">'; myimg[2] = '<img src="画像3" alt="">'; var mynow = new Date(); var myweek = mynow.getDay(); document.write("<a href='"+jmp[myweek]+"'>" + myimg[myweek] + "</a>"); -------------------------- javaの知識がまったくない初心者です。 document.writeの中に入れるのかなと思うのですが、別窓になりません。 誰か分かる方がいましたら教えていただけないでしょうか?

  • HPにのせられなくてこまっています><

    HPに載せる為に独学でJavaスクリプトに挑戦したのですがうまくいきません。 希望 ・曜日ごとに画像・リンク・コメントが変わる。 ・曜日によって表示する画像の数が異なる。 ・同じ曜日でも画像ごとにリンク先が異なる。 一応自分で考えて作ったものを下にはっておきます。 <script language=javascript> <!-- var tag=new Array() tag[0]='<img src="5.GIF" width=28 height=22> <br>日曜日はおやすみ。'; tag[1]='<"img src="9.png","http://あ.jp"> <"img src=11.png","http://い.jp"><br> 月曜日'; tag[2]='<img src="k.jpg","http://う.jp/"> <img src="o.jpg","http://え.jp/"><br> 火曜日'; tag[3]='<"img src="96.png","http://お.jp"> <"img src="87.png","http://か.jp"><br> 水曜日'; tag[4]='<"img src="9.png","http://き.jp"><br> 木曜日'; tag[5]='<img src="3.png""http://く.jp/"> <"img src="15.png","http://け.jp"><br> 金曜日'; tag[6]='<img src="10.GIF" width=28 height=22>土曜日'; var d=new Date();d=d.getDay() document.write(tag[d]) //--> </script> 製作しているサイトに締切りがあるため早めに解決方法が知りたいです。 ご指摘・アドバイス・回答お待ちしています。

  • 好きな曜日は何ですか?

    好きな曜日は何ですか? 1.月曜日 2.火曜日 3.水曜日 4.木曜日 5.金曜日 6.土曜日 7.日曜日 僕は、5の金曜日と7の日曜日が好きです。 皆さんの好きな曜日は何ですか?

  • javascriptで任意の曜日に日をプラス

    javascriptで任意の曜日に日をプラスさせたいです。 ●外部 //日付取得 var nweek = new Array("日","月","火","水","木","金","土"); var now = new Date(); var nYear = now.getFullYear(); var nMonth = now.getMonth() + 1; var nDate = now.getDate(); var nweekjp = now.getDay(); //配送日計算 var now = new Date(); now.setDate(nDate+7); var yYear = now.getFullYear(); var yMonth = now.getMonth() + 1 ; var yDate = now.getDate(); var yweekjp = now.getDay(); ●実行タグ <script type="text/javascript">document.write(""+yYear+"/"+yMonth+"/"+yDate+" ");</script><script type="text/javascript">document.write(""+nweek[yweekjp]+"曜日 ");</script> で、配送までの日付を取得させているのですが、 土日の配送が月曜日になるため、土曜日の場合は、日付を2日追加、日曜日の場合は、1日追加としたいのですが、どうすればいいでしょうか。 調べても日付取得方法ばかりで、困っています。 ご存知でしたら教えて下さい。 お願いします。

  • 指定曜日5つ

    <SCRIPT LANGUAGE="JavaScript"> <!-- w = (new Date()).getDay(); if(w == 3) document.write("OK wave 最高!"); //--> </SCRIPT> 水曜日に表示するスクリプトですが、月~金まで表示したい場合はやはり5つ if をたてなければならないでしょうか? (たぶん数字のところをなんとかすればとは思いますが・・) よろしくお願いします。

  • 各曜日のイメージカラーは?

    趣味でflashサイトを作ろうと思いますが、月曜日、火曜日…とflashをその日の曜日に合わせて変更させていきたいと思っています。 そこで質問なのですが、各曜日の色は何色がいいと思いますか? (1)月曜日 (2)火曜日 (3)水曜日 (4)木曜日 (5)金曜日 (6)土曜日 (7)日曜日 ちなみに私は月曜日が赤っぽいイメージがありますが、それ以外が思い浮かびません…

  • FLASHで曜日に応じた35枚の画像を順に自動更新したい

    Flash CS3(actionscript2.0で制作)を使っており、トップページのFlash画像を毎日自動で更新したいと思っています。 画像は35枚あり、それぞれ曜日に応じたテーマになっております。 その画像を順にその曜日に表示したいと思うのですが、どのようにしたらよいものか困っております。 photo1.jpg -> 月 photo2.jpg -> 火 photo3.jpg -> 水 : photo7.jpg -> 日 photo8.jpg -> 月 : photo35.jpg -> 日 というようにphoto1.jpgから順に表示したいのです。 ----------------------------------------------------------- var today = new Date(); var num = today.getDay()+1; gazou_mc.loadMovie("img/photo"+(num)+".jpg"); ----------------------------------------------------------- ↑このように現在は記述しているのですが7つの画像しか表示されないので、35枚順に表示されるようにするにはどうした良いものか、ご教授いただけないでしょうか。 FLASHのactionscriptもjavascriptも初心者でやっとの思いでここまでたどり着きました。 わかりやすく解説しているサイトURLなどでもよいので、 どうかよろしくお願いします。

  • 【再アンケート】好きな曜日は何ですか?

    2021年10月28日に投稿した「好きな曜日は何ですか?」の再アンケートです。 好きな曜日は何ですか? 1.月曜日 2.火曜日 3.水曜日 4.木曜日 5.金曜日 6.土曜日 7.日曜日 僕は、5の金曜日と7の日曜日が好きです。 皆さんの好きな曜日は何ですか?

専門家に質問してみよう