• 締切済み

日付との内容で文字を差し替える方法

HTMLでインラインフレームを作成して、そこに、対象のファイルを 指定して、フレーム内の文章を変えています。 対象ファイルを修正するだけでお知らせ事項などを変更できるので、 便利ですが、日付が変わったりしたときに、用意しておいた別の分に 変えることができないでしょうか。 たとえば、金土日のみ、通常の文章を変えたい場合、 そのファイルを読むかなどしたいです。 そして、金の午前0時に切り替わり月曜午前0時に 自動で通常の文章に戻る方法は、ありませんか。 よく、流れる文章などで、「おはようございます。」 昼は「こんにちは」夜は「こんばんわ」など表示しているのを 見ますが、管理者がその都度変えているのは考えられないと思います。 そんなやり方と、インラインフレームの表示用のファイルを 時間とともに、指定した曜日などで、自動的に切り替えることはできませんか。 方法を教えてください。 HTML文書に関してはあまり理解してません。 Microsoft FrontPage(2002)を使用しています。 できればそちらでのやり方をお願いします。

みんなの回答

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

#1です。 JavaScriptはIEに限ったものではありませんので、ほとんどのブラウザが対応しています。 (とても古いバージョンのブラウザはわかりませんが・・・) ただし、CSSと同じようにブラウザによって、少しずつ解釈が違う場合があるので、確認しておくことは必要です。 (上記の例くらいなら、あまり差はないはずですが、曜日の判断がブラウザによってどうなっているかは確認していません。) 手元にOperaがありましたので試してみましたが、正しく動作しました。 >IDのFRAMEは複数使っている場合は変えればいいのでしょうが 名前を付けているだけなので、好きな名前にしてください。 new Date() はそのときの日付を取る関数です。(ブラウザ側の日付設定がおかしいと狂います。) getDay() は日付の情報のうちの曜日を示していて、0~7が金~木に該当しているみたいです。 なので、 if (new Date().getDay() < 3) は曜日が0、1、2(金土日)なら次の命令を実行しなさいという意味になります。 丁寧に書けば、  hiniti = new Date();  yobi = hiniti.getDay();  if ( yobi < 3 ) { と同じです。

milkyway01
質問者

お礼

ご回答ありがとうございます。

milkyway01
質問者

補足

なるほど、 本を見ながら挑戦してみることにします。 過去にコピーをマウス選択で文字反転できないようにする スクリプトを入れたら、IEは大丈夫ですが、Mozilla Firefoxや、 Safariは、うまくいきませんでした。 とりあえず調べながらソースの中に入れられないかを チェックしてみます。 作成がソフトを使っているので、あまりHTMLも詳しくなくて。 ありがとうございました。

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

比較的簡単そうなのはスクリプトによる方法ではないでしょうか。 <iframe id="FRAME" src="HEIJITU.html" ~ などとしておいてJavaScriptで、対象ファイルを入れ替えるという手があります。 <script type='text/javascript'> <!--  if (new Date().getDay() < 3) {    document.getElementById('FRAME').src = 'SHUMATU.html';  } //--> </script> ただし、この方法だとブラウザ側でスクリプトを拒否していると働きません。 ブラウザの設定によらず、切り替えられるようにするにはサーバー側でファイルの切替えをすることが必要と思われます。 <iframe id="FRAME" src="YOUBI.cgi" ~ などとしておいて、CGIで曜日を判定して、あとは単にファイルをそのまま転送すればいいだけですが、こちらの方法はCGIを使える環境であるかどうかということが関係してきますし、CGIを設置できるだけの知識も必要になります。

milkyway01
質問者

お礼

ご回答ありがとうございます。 補足の事項が詳しく分かれば教えてください。 スクリプトを感覚で書けるソフトなどありましたら 教えてください。

milkyway01
質問者

補足

回答ありがとうございます。 そのため下は無理ですが、上の方は可能性がありますが、 スクリプト拒否はともかく、IE6以外でも対応は可能ですか。 最近はIE以外を使っている人が多くなってきているようです。 特に利用者の多いブラウザにも対応していて欲しいのですが。 また、IDのFRAMEは複数使っている場合は変えればいいのでしょうが、if (new Date().getDay() < 3)は、どういう意味になるのでしょうか。 スクリプトの知識もないので、教えてください。 次の行は何となく分かるのですが。 お願いします。

関連するQ&A