• ベストアンサー

リンク先のURLが毎日変わる場合パスはどう指定しますか?

ホームページを作っています。 リンク先のURLに日付が組み込まれていて、毎日変わります。 例えば、 ・・・・BLOG-NAME/2009/10/index.html#cal_dai21 (2009年10月21日) これを今日クリックしたら今日の日付のところに行くようにするには、どうしたらいいでしょうか?

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

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

#1です。 >PHPは禁止されているので~~ サーバ側で対処するのがお勧めですが、phpでなくてもcgiなど(その他簡単でも良いのでスクリプトが使えるもの)を利用できる環境はないのでしょうか? javascriptの場合、#1にも書いたようにユーザ環境に依存するので、実行可能かどうかだけでなく、時刻が合っているという保障もありません。 (簡単な例だと、海外からのアクセスは時間が様々とか←これは対応可能ですが) あるいは、毎日午前0時にリンク先のアドレスが変わるけれど、その瞬間に確実にリンク先のファイルは存在するのかとか。 リンク切れやリンク先が存在しないなどは、そのサイトに対する印象や信頼性への影響も大きいと思いますので… まぁ、それはおいおいて、以下にサンプルを。 ------------------------------ <html> <head> <script type="text/javascript"> window.onload = function() { var txt = '○○へリンク'; //←表示テキスト var link = 'http://xxx.com/BLOG-NAME/<>/index.html#cal_dai<>'; //←リンク先アドレス(<>は日付部分) var tmp , d = new Date(); tmp = d.getFullYear() + '/' + (d.getMonth() + 1); link = link.replace('<>',tmp).replace('<>',d.getDate()); var e = document.getElementById('date'); while (e.childNodes.length) e.removeChild(e.firstChild); var a = document.createElement('a'); a.setAttribute('href', link); e.appendChild(a); a.appendChild(document.createTextNode(txt)); } </script> </head> <body> <span id="date"> スクリプトが無効の場合の文章。 例えば「リンクは使用できません」とか </span> </body> </html> ----------------------------- *ユーザ側のスクリプトがオフの場合はHTML内の文章が表示されます。 *スクリプトが有効な場合は、その部分が「表示テキスト」と「リンク先ア  ドレス」に置き換えられます。 *「<>」はURLに使えない文字みたいなので、日付を入れる部分のマー  キングに<>を利用しています。 *日付の数字がどうなるのか不明でしたが、例えば5月4日は「2009/5/4」  のようになります。「2009/05/04」にするのなら一部修正が必要です。 *ユーザのマシンの日時をそのまま利用していますので、時差がある  地域からのアクセスだと日付がずれます。  (リンク先の日付は日本時間の日付でしょうから)  時差にも対応するなら、ユーザの日時から時差をもとに標準時に直し、  日本の時差(9時間)を加えることで日本時間に修正可能です。 *javascriptと日付については以下をご参考に。 http://www.red.oit-net.jp/tatsuya/java/getdate.htm http://www.artemis.ac/contents/javascript/jsdate.htm http://www.tohoho-web.com/js/date.htm

tobibibibi
質問者

お礼

助かります(^O^) 早速やってみます! ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (5)

noname#100277
noname#100277
回答No.6

極論から云うとCGIが設置出来ないサーバーなら、javascriptでの実行しか無い。 然し、javascriptはユーザビリティには優れて無いので使うのは思わしく無い。 別途「CGIが使える」サーバーにCGIを設置して、現在のサイトからのLINKの場合のみ「指定したファイル」や「最新の記事」へとLINKさせるのが現実的なのでは? 此の辺りは最終的にはファイル作成者の判断ですがね。

すると、全ての回答が全文表示されます。
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.5

しまった。自動リンクが張られてしまった!! そのあたり余分な文字が追加されていると思うので、削除しといてください。(そうしないとうまく動作しない)

tobibibibi
質問者

お礼

思考錯誤してできました! ありがとうございました<(_ _)>

すると、全ての回答が全文表示されます。
  • elflend
  • ベストアンサー率64% (58/90)
回答No.3

> 他サイトのブログを、ホームページとリンクさせたいのですが あらそうだったのですね。 ということはホームページから「今日の日記」みたいな感じでブログのリンクを出す予定なのでしょうか? ふと思ったのですが、 ・・・・BLOG-NAME/2009/10/index.html だけ指定すれば今日の日記(というか今日+数日分)が表示されると思うのですがこれではダメなのでしょうか? どうしても1日分を表示させたいのであれば JavaScript を使うしかないと思いますが、 Script を考えるのが結構めんどくさいかもしれません。 やってやれなくはない。という感じでしょうか。

すると、全ての回答が全文表示されます。
  • elflend
  • ベストアンサー率64% (58/90)
回答No.2

質問に冷静にあれやこれやと考えていたのですがどうもおかしな点が多いと感じました。 情報不足の予感がします。 > ホームページを作っています。 > リンク先のURLに日付が組み込まれていて、毎日変わります。 これって自分でホームページを作っているということは html スクリプトを自分で操作して作っているということになるのですが、その認識であっていますか? html で書かれた内容は日付が変わっても内容まで変わったりはしないはずです。 リンク先の URL が毎日変わるということなので、HPを作るというよりむしろブログを管理しているのでは と思ったので質問してみました。 もしどこかでブログを借りてこれのリンク先を何とかしたいという話であれば結論からいうと無理です。 ブログではなく、自分のサイトにCGIか何かで書かれている日記とかのURLを何とかしたいという話であれば Java Script や CGI の中をいじれば何とかなるかもしれませんが。

tobibibibi
質問者

お礼

他サイトのブログを、ホームページとリンクさせたいのですが、やはり無理そうですね。ありがとうございました。

すると、全ての回答が全文表示されます。
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

リンク先が必ず日付でよいのなら、 1)そのページをphpなどにして、リンク先を更新して出力する。 2)javascriptなどでロード時にリンク先を修正する。  (ユーザがオフにしていると、修正されないままとなります。)

tobibibibi
質問者

補足

早速ありがとうございます! PHPは禁止されているので、javaスクリプトの文を具体的にお教えいただけないでしょうか? よろしくお願いします。

すると、全ての回答が全文表示されます。

関連するQ&A