• ベストアンサー

時間によって異なる処理をさせたい

1.HTMLファイルに、朝と夜で異なるCSSを読み込ませたい。 2.HTMLソース内に処理プログラム(Javaなど)を組み込みたくない。 3.表示するHTMLは複数(朝はファイルA・夜はファイルBへという形式の)作成したくない。 上記三点の要望に応えられるようなプログラムがあれば、教えていただきたいです。 よろしくお願いします。

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

  • ベストアンサー
  • Katsu1030
  • ベストアンサー率59% (19/32)
回答No.4

 昨日サンプルを公開させて頂いたのですが、URLが個人情報に抵触するという話で、ばっさり消されてしまいました(汗  お急ぎとのことですので、ひとまずソースを貼付してみます。 ----(以下ソースここから)-------------- #!/usr/local/bin/perl # 上のPerlのパスは環境に合わせて変更が必要 # 時間ごとの自動振り分けスクリプト(1) # 勿論HTMLファイルでも指定してしまえば振り分け可能です。 # CSSで使用する場合は、ページ内でCSSを呼び出している場所を # このスクリプトに変更します。 ### 設定開始 ### ----------------------------- # 振り分け先の設定 $jump1 = 'http://www.xxx.co.jp/day.css'; # ジャンプ先1 $jump2 = 'http://www.xxx.co.jp/night.css'; # ジャンプ先2 # 判定時刻の設定 $time_chk1 = 5; # (この時間まではジャンプ先2へ・この時間以降はジャンプ先1へ) $time_chk2 = 17; # (この時間まではジャンプ先1へ・この時間以降はジャンプ先2へ) ### 設定おわり ### ----------------------------- # 現在時刻(時)を$hourへ代入 $hour = (localtime(time))[2]; # 判定処理 if($hour >= $time_chk1 && $hour <= $time_chk2) { # 昼用ファイルをURL絶対パスで指定する print "Location: $jump1\n\n"; # 上記以外の処理 } else { # 夜用ファイルをURL絶対パスで指定する print "Location: $jump2\n\n"; } # 終了 exit; ----(以上ソース終わり)--------------  一行目のPerlのパスと、ジャンプ先のCSSのURLは替えておいて下さい。

TMEspion
質問者

お礼

お返事が遅れて申し訳ありません。 回答ありがとうございます。 サンプルについては、ばっさり切られる前に1度一通り見ておいたので、 履 歴 が 残 っ て い れ ば もう一度じっくり見たいと思います。 とりあえずは、上記のソースを応用して、試してみたいと思います。

TMEspion
質問者

補足

サンプルを使って試してみたところ、 希望通りの動作をしてくれました。 細かく丁寧なご説明、 ありがとうございました。

その他の回答 (3)

  • Katsu1030
  • ベストアンサー率59% (19/32)
回答No.3

 お返事が遅くなりました。  #2さんの方法だと、CSS用のCGI1個で事足ります。  ただ、CSSを編集するのが困難になりそうですので、私だと以下の方法にします。 (ローカル時刻の取得) (時刻分岐)  (朝なら)朝用.cssを案内  (夜なら)夜用.cssを案内 (処理終わり)  分岐処理では、 「print "Location: CSSまでのフルパス\n\n";」 とすれば、静的なCSSファイルを自動的に読み込ませられます。  もう少し時間(今夜頃)を頂ければサンプル提供可能です。

  • ngsvx
  • ベストアンサー率49% (157/315)
回答No.2

困り度3ですので、#1さんの代わりにお答えします。 質問者さんのCGIについての知識がよくわからないので伝わるかは不安ですが。。。 今回の件で朝と夜とのHTMLの差というのはCSSの指定の部分だけです。 この部分を分岐するわけです。 #HTTPヘッダー print "...."; print "...."; print "\n"; #HTML出力 print "<html>"; print "<head>"; print "<style>"; #分岐 if(朝なら){ #朝用のCSS出力  print "...."; }else{ #夜用のCSS出力  print "...."; } print "</style>"; .... .... .... .... こんな感じになります。

TMEspion
質問者

お礼

書き込みが遅れて申し訳ありません。 回答ありがとうございます。 確かにこの方法でもできそうですね。 しかし、#1さんのおっしゃる通り、 編集する場合の手間がかかりそうなので、 今回は#1さんの方法でやってみたいと思います。

  • Katsu1030
  • ベストアンサー率59% (19/32)
回答No.1

 条件分岐動作をさせる以上、2か3は必須になると思われますが…。  プレーンなHTMLではどう考えても不可能です。  どうしても上記条件を満たしたければ、CSSをCGIなどで動的に生成するか分岐処理をしない限り無理かと思われます。  動きとしては、定義するCSSファイルの変わりに条件分岐用CGIを指定し、そのCGIの内部処理で時刻での振り分けを行えば、望みの動作は可能かと思われます。  これだとクライアント側に依存せずCSSを振り分けることは可能になります。

TMEspion
質問者

補足

回答ありがとうございます。 >動きとしては、定義するCSSファイルの変わりに >条件分岐用CGIを指定し、 >そのCGIの内部処理で時刻での振り分けを行えば、 こちらのやり方でやってみようと思うのですが、 CGIの内部処理の方はイメージできるのですが、 その後の出力の仕方がイメージできません。 もう少し具体的に聞かせていただけないでしょうか?

関連するQ&A

  • クリックによる画像の入れ替え処理について

    HTML、CSS、Javascriptを勉強中の初心者です。 あまり難しいことはわからないので、噛み砕いて説明してくださるとうれしいです。 あるWebページで、画像で作成したボタンA、B、Cが一列に配置されている状態で、以下のような処理をしたいと思っています。 (1)Aがクリックされたら、AをA2に置き換える (2)A2が表示されている状態で、Bをクリックすると、A2はAとなり、BはB2となる 質問内容は以下です。 (1)の処理をonclick処理で実装したところ、クリックした瞬間のみA2となり、カーソルが離れるとAに戻ってしまう。  クリックした状態のままにするには他にどのような処理が必要なのか。 (2)jQuery?でできるような気がするが、サンプルとなるものがなく、書き方がわからない。  (調べても、ほとんどが一つのコンテンツスペースに複数の画像をクリックで切り替えて表示する、というものばかりでした) 上記について、ご回答よろしくお願いします。

  • microSDのファイル処理時間

    microSDの処理時間の最長を計測したいと考えています。 microSDに複数のフォルダと複数のファイルを作成し、ファイルを追記していきながら、処理時間を計測しています。 microSDの処理時間に関しては、以下のどちらの方が(ファイルオープン、追記、クローズ)処理に時間がかかるのでしょうか? 1) サイズの多いファイルが少数ある 2) サイズの小さいファイルが多数ある あるいは、こういうフォルダ、ファイル構成を作っておけば処理時間が長くなる、というものがありましたら、知りたいと思います。 microSDはSDCHの4GBのものを使用しています。 よろしくお願いいたします。

  • HTMLタグが書かれた外部ファイルを、HTMLファイルに読込みたい

    複数のHTMLファイル内で、同じHTMLタグを書く部分がいくつかあります。 それらのHTMLタグの部分を外部ファイルか何かにして、HTMLファイル内で読み込むようにすることは出来ますか? JavaScriptでは外部ファイル(jsファイル)の読み込みはできるようですが、HTMLではできないんでしょうか? ※尚、CSSではやりたい事は出来ませんでした。 共通化できるのはスタイルだけなので・・。 私が共通化したいのは、HTMLタグです。 例えば <TD>hogehoge</TD> や <IMG src="hoge.jpg"> などのタグを複数のHTMLファイルで共有する為に 外部ファイル化したいんですが そんなことって出来るのでしょうか・・? 上記のようなタグを複数のHTMLファイルで共通できる手段であれば、外部ファイルという形式じゃなくても別にいいのですが・・

    • ベストアンサー
    • HTML
  • JAvaScriptの外部ファイルの記述について

    HTML内にJavaScriptの処理書くのが嫌で、外部ファイルにしてJavaScriptを読み込むようにしたのですが、このファイルに、実行したい処理を複数書いてしまうとHTMLで正しく処理されなくなるのは何故ですか?.jsファイルには処理は1つしか記述できないのでしょうか?CSSファイルみたいに1つのファイルに何個も処理を記述してHTMLに反映させるようにしたいのですが・・・。どなたにも質問できず困っています。どなたか教えて下さい。jsファイルには処理は1つしか記述できないものなのかどうか回答お願い申し上げます。

  • 画像処理ソフトの作成

    Win32プログラムを使って画像処理を行えるプログラムを作成したいのですが、自分ひとりではどうにもなりません。 プログラムの仕様は、 (1) メニューバー「ファイル」、「画像処理」、「ヘルプ」の作成。 (2) 「ファイル」のカスケードメニュー「画像を開く」、「画像を保存する」、「プログラムを終了する」の実行。 (3) 「画像処理」のカスケードメニュー「ビットプレーンの作成」、「領域分割」、「輝度分布の計算」の実行。 この3点です。 何か役立つ参考書などがあれば教えてください。 実際にソースコードを教えていただけるとうれしいです。 よろしくお願いいたします。

  • Win32 画像処理プログラミング

    Win32プログラムを使って画像処理を行えるプログラムを作成したいのですが、自分ひとりではどうにもなりません。 プログラムの仕様は、 (1) メニューバー「ファイル」、「画像処理」、「ヘルプ」の作成。 (2) 「ファイル」のカスケードメニュー「画像を開く」、「画像を保存する」、「プログラムを終了する」の実行。 (3) 「画像処理」のカスケードメニュー「ビットプレーンの作成」、「領域分割」、「輝度分布の計算」の実行。 この3点です。 関数や構造体を使って最初から組まなければ成りません。 なるべく詳しいプログラムを教えてください。 ( ソースコードを教えていただけるとありがたいです。 ) よろしくお願いします。

  • 処理をした後にとばしたい場所に飛ばしたい

    まずは次ぎのソースをご覧になって下さい。 &a &b &c sub a {処理一番} sub b {処理二番} sub c {処理三番} 上記のプログラムでまず「sub a」の処理をさせます。 次に「sub b」の処理をさせます。 次に「sub c」の処理をさせます。 が、しかし「sub b」の処理の中で条件文があり、条件に満たない場合は「sub a」の中の「処理1番プログラム」の中の途中からまたスタートさせたい(処理を返えしたい)と思っています。 そのような事が出来るでしょうか?どうか教えて下さい。 お願いします。

  • 覚えるのはJavaスクリプトでいいんでしょうか?(カンタンですか?)

    最近独学でHTMLとCSSを覚えて、はじめて自分のHPを公開しました。イラスト等描くのが好きなのですが、画像のスライドショーのページの作り方はわからなかったので、外部のサイトからサンプルをお借りして作りました。サンプルソースを見ると、「Javascript」という言葉が何度も出てきているし、「JAVAスクリプトを使えばゲーム的なものを作りやすいようだ・・」という風に漠然と理解したので、javaスクリプトを覚えようと思うんですが、 他にもプログラムって色々あるじゃないですか?HTMLとCSSを覚えたら、次に覚えるべきなのは何でしょうか? 具体的にやりたい事⇒ランダムで別のページに飛ばしたり、ダンジョンRPG風、またはシナリオ分岐を作ったりして、ゲームっぽいものを作ってみたいです。あとは、画像のスライドショーなどを自分で工夫して(ソースを)書けるようになりたいです。

  • HTMLファイルのicludeについて

    メールフォームを作成していたのですが、特定のフォームのHTMLファイルだけが読み込めないことがございました。 読み込める(表示できる)HTMLファイルは、動作テストのため作成した単純なテーブル構造のファイルです。 読み込めないもの(表示できない)は、ポータルサイトのCSSを組み込み、テーブルを細かく設定したHTMLファイルです。IEでソースを表示させると、HTMLファイルは読み込んでいるようです。 メールのソースを取り除き、includeだけであれば表示できなかったHTMLファイルは表示できました。 includeの機能やIE6で考えられる原因等ございましたら、お教え願えればと存じます。よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • セッション接続時間に間に合わせない処理について

    IIS+PHPでPHPプログラムを作成しています。 ちょっとプログラムが複雑で、プログラムを動かすと30秒以内で処理が終わらないので、エラーの画面が出力されます。 そこで、定期的にプログラムをサーバローカルで動かし、結果をファイルに書いておいて、アクセスがあったときにはそのファイルを表示させようと思っています。 今から別な言語で書く事は避けたいので、PHPプログラムを転用したいと思っていますが、PHPをサーバローカルで動かすにはどうしたらいいのでしょうか? イメージでは c:\php.exe test.php ※test.phpはファイルを作成するphpプログラム みたいな事が出来たらBestです。 ご存知の方、ご教授ください。

    • ベストアンサー
    • PHP

専門家に質問してみよう