
No.5ベストアンサー
- 回答日時:
No1、No3です。
こんにちは。>更新をしてなくても毎週木曜日に決まって、日付を取得するスクリプト
>があればいいなと思っております
その木曜日が休日とか、元旦でもいいのでしょうか?
実際の更新とは関係なく、閲覧者が閲覧した日に直近の木曜日なら#1、#2の回答でよいと思いますが、実際には虚偽の表示になってしまいますね。
例えば、閲覧者が前週に閲覧していたとして、「更新した」という表示があるので、そのページ内を丹念に探したとしても、違いが見つからないということが起こり得ます。
#3の方法と#1の方法を組み合わせれば、「実際の更新日に直近の木曜日を表示」ということも可能ですが、実は、#3で取得できる日付の書式がブラウザによってマチマチであるため、この値を計算に使用するのはエラーを起こす危険性があります。(閲覧者の使用環境による)
<参考>
http://www.alles.or.jp/~sfujita/jpn/difflast.htm
また、スクリプトを使用する際の、表示上の問題として#3のURL先にも書いてありましたように、「スクリプトをオフにしている閲覧者に対してスクリプトの結果が反映されない表示となる」ということがあります。
これに対しては、
1)何も表示せずにおいて、スクリプト有効時のみ表示(#3のURLの方法)
2)表示できる内容(公開日など)を表示しておいて、後からスクリプトで
内容を書き換える。
3)公開日などを表示しておいて、スクリプトで更新日を付け加える。
などの対応があろうかと、思われます。
いずれにしろ、これらの問題に対しては、#1の後半の方法の方が確実に対処が可能です。
とはいえ、スクリプトでの対応例を…(複数あるので、組合わせればOKかと。ただし、後半の計算方法は↑の書式対応の問題は残っています。)
前回のものも少し修正してあります。(setMillisecondsの必要はないのでsetHoursに、式も#2様の式(ちょっと短いので)を借用しました)
<html>
<head>
<script type="text/javascript">
window.onload = function() {
//閲覧日に直近の過去の木曜日に書き換え(id=day1)
var d = new Date();
d.setHours(-24*((10+d.getDay())%7));
document.getElementById('day1').innerHTML =
'最終更新日:' + d.getFullYear() + '/' + (d.getMonth()+1) + '/' + d.getDate();
//実際の更新日を取得して、直近の木曜日を追加表示(id=day2)
var d = new Date();
d.setTime(Date.parse(document.lastModified));
d.setHours(-24*((10+d.getDay())%7));
var e = document.getElementById('day2');
e.innerHTML = e.innerHTML + '(最終更新日:' + d.getFullYear() +
'/' + (d.getMonth()+1) + '/' + d.getDate() + ')';
}
</script>
</head>
<body>
◇スクリプトがオフの場合の表示状態
<div id="day">公開日:○○/○○/○○</div>
<hr><p>
◇閲覧日に直近の過去の木曜日に書き換え
<div id="day1">公開日:○○/○○/○○</div>
<hr><p>
◇実際の更新日を取得し直近の木曜日を追加
<div id="day2">公開日:○○/○○/○○</div>
</body>
</html>
この回答への補足
更に詳細な記述をありがとうございます。
補足を書きますと、
毎週木曜日に既に売約済みや変更のものがないかをチェックしているという意味で、
もし修正がなくとも更新済の表記にして欲しいとのことで、
(お盆・正月も含め)
上記の内容にあっているとは思います。
実際に設置してから、御礼のポイントを付けるようにしますので、
もうしばらくお待ち下さい。
day2の方は私の環境では表示されなかったのですが
day1の方でちゃんと表示されました。
divタグの中に、非表示の場合に念のための日付が書き込んでおけるのがよいですね。
木曜日当日は、その日の日付が表示されるとは思うのですが、
それを確認してから本環境に採用しようと思います。
ありがとうございました。
No.3
- 回答日時:
No1です。
スクリプトからでも更新日を取得できましたね。失礼しました。
これが一番簡単だと思います。
http://allabout.co.jp/internet/hpcreate/closeup/ …
この回答への補足
これは最終更新日を取得するスクリプトですよね。
木曜日に更新を必ずするわけではないのですが、客先から必ず木曜日に日付を変更してくれとの要望がありまして、
逆に更新してないときは、自分でも抜けてしまうので、
更新をしてなくても毎週木曜日に決まって、日付を取得するスクリプトがあればいいなと思っております。
説明が悪くてすみません。
No.2
- 回答日時:
さきをこされちまった~!
でもちょっとだけみじかいので、とうか!
<p>
<script type="text/javascript">
var n = new Date; n.setHours(24*-((10+n.getDay())%7));
document.write('前回の更新日:'+ (n.getMonth() + 1) + '/' + n.getDate());
</script>
</p>
この回答への補足
すいません、上の方と同じく、これは最終更新日を取得するスクリプトですよね。
木曜日に更新を必ずするわけではないのですが、客先から必ず木曜日に日付を変更してくれとの要望がありまして、
逆に更新してないときは、自分でも抜けてしまうので、
更新をしてなくても毎週木曜日に決まって、日付を取得するスクリプトがあればいいなと思っております。
説明が悪くてすみません。
No.1
- 回答日時:
JavaScriptのカテゴリーへの質問なので、
◇スクリプトでその日(表示日)以前の、木曜日を計算して表示する。
でも、この方法だと正しい更新日と関係なく、直前の木曜日が表示され
るということになってしまうので、お薦めはできません。
<html>
<head>
<script type="text/javascript">
window.onload = function() {
var d = new Date();
d.setMilliseconds(((10-d.getDay())%7-6)*24*60*60*1000);
document.getElementById('day').innerHTML =
d.getFullYear() + '/' + (d.getMonth()+1) +
'/' + d.getDate() + '更新';
}
</script>
</head>
<body>
<div id="day"></div>
</body>
</html>
◇サーバ側(PHPやCGIなど)で、対象ファイルの更新日を取得して日付
表示の部分を生成して出力。 (またはデータを別に送信)
こちらのほうが、木曜日に限定せずに正しい更新日を表示可能なので
よろしいのではと思います。
<参考>
http://blog.loaferz.com/?eid=226594
http://digit.que.ne.jp/work/wiki.cgi?Perl%E3%83% …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ランダム音声と正解・不正解の表示
-
<a href="#" …>の意味を教えて...
-
ホームページ上で残り日数をカ...
-
HTMLソースからURLだけを抜き出...
-
JavaScriptのエラー ( 関数の...
-
AjaxでDBから取得したデータを...
-
プルダウンと入力を両方行う検...
-
別ページのインラインフレーム...
-
SQLのWHEREで全てを質問する方法
-
別ファイルのfunctionの読み込み方
-
window.openでフルスクリーン表...
-
javascriptでalertの文字列をコ...
-
外部読み込みで動かないときの...
-
ハイパーリンクに下線を表示す...
-
JavaScriptでiframeの内容を「...
-
ウインドウの後ろに隠れている...
-
SCRIPT5007: 未定義または NULL...
-
location.hrefを使ったインライ...
-
指定の年月日時にcssを自動で切...
-
メールフォームとかで確認画面...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ジャバスクリプトが無効になっ...
-
Netscape4.7で。
-
足跡を付けたい
-
ページ内文字列の置換について
-
JavaScript について
-
日付について
-
Cookieの回数で閲覧制限、javas...
-
代入演算子の%=について
-
safari、firefoxでjavascript
-
ブラウザのアドレス欄に
-
始めまして、23歳の事務系OLです。
-
JavaScriptが有効ならA、無効ならB
-
外部javascriptファイルをjavas...
-
結果のなかにさらにjavascript
-
読み込むたびに画像を順番に表...
-
ブラウザを閉じないようにする...
-
javascriptで変数を組み込みたい
-
IEでiframe内のcookieを保持
-
文字の置換について
-
location.hrefが動かない・・・
おすすめ情報