• ベストアンサー

この構文でよいでしょうか?

<script> date = new Date(); year = date.getYear(); d= (new Date()).getDate(); strMonth = dtToday.getMonth() + 1; if (strMonth < 10) { strMonth = "0" + strMonth; } if (year < 2000) year += 1900; if( 2 < d ) document.write("<a href='http://~"+year+""+strMonth+"-2.html'>こちらへどうぞ!</a>"); </script> 毎月3日以降に指定したページを表示するスクリプトです。 一応思った通りに表示されています。 基本的にJavaScriptは自分ではできません。 いろんな例文を見よう見まねで継ぎはぎしながら作ったものなので、 これでよいかどうかわかりません。 何か訂正すべき箇所はありますでしょうか?よろしくお願いします。

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

  • ベストアンサー
  • auty
  • ベストアンサー率58% (284/486)
回答No.1

間違いは、一箇所だけです。 strMonth = dtToday.getMonth() + 1; は strMonth = date.getMonth() + 1; です。 でも、最低限読みやすくするには、次のようにしてみてください。 <script> date = new Date(); year = date.getYear(); month = date.getMonth() + 1; d= date.getDate(); if (month < 10) { strMonth = "0" + month; } if (year < 2000) year += 1900; if( 2 < d ) document.write("<a href='http://~"+year+""+strMonth+"-2.html'>こちらへどうぞ!</a>");</script> </script>

syuricyan
質問者

お礼

皆さん加味していただいていますが、一応訂正をします。 [誤]指定したページを表示するスクリプト [正]指定したページへのリンクを表示するスクリプト 実は質問時はHPでは表示されたのですが、その後ブログで確認したら非表示でした。 ですが、指摘いただいた箇所の訂正によりブログでも表示されました。ありがとうございました。

その他の回答 (3)

  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.4

year = date.getYear(); ↓訂正する。 year = date.getFullYear(); if (year < 2000) year += 1900;←この行は不要なので削除 getFullYearを使う事でもの凄く古いブラウザでは動作しなくなりますが、 getYearのままでもどうせ不安定だし。

syuricyan
質問者

お礼

最初はいらないかなあと思いはずしたら、2008 → 108 みたいになりました。 上記のようにすれば解消されるのですね。勉強になりました、ありがとうございました。

  • auty
  • ベストアンサー率58% (284/486)
回答No.3

if( 2 < d ) document.write("<a href='http://~"+year+""+strMonth+"-2.html'>こちらへどうぞ!</a>"); ですね。

syuricyan
質問者

お礼

ありがとうございました。またよろしくお願いいたします。

  • ANASTASIAK
  • ベストアンサー率19% (658/3306)
回答No.2

strMonth = dtToday.getMonth() + 1; この行↑のdtTodayはないようなので、次のように 書き換えれば動きます。この構文は毎月3日以降に 年月-2.htmのファイルにリンクさせるものですね。 date = new Date(); year = date.getYear(); d= (new Date()).getDate(); strMonth = date.getMonth() + 1; if (strMonth < 10) { strMonth = "0" + strMonth; } if (year < 2000) year += 1900; if( 2 < d ) document.write("<a href='http://~"+year+""+strMonth+"-2.html'>こちらへどうぞ!</a>"); </script>

syuricyan
質問者

お礼

一応質問時の構文ではHPで何故か?動いてました。 元々はブログに設置予定だったので、これでブログでも動くようになりました。 ありがとうございました。

関連するQ&A