Blogger の画面右下にある「前の投稿」へのリンクを作りたい。
すぐに忘れる脳みそのためのメモ via kwout
どうするか?
今トップページの一番下にある記事の下にある「前の投稿」のリンクを見ると、
http://jutememo.blogspot.com/search?updated-max=2009-09-11T08%3A40%3A00%2B09%3A00&max-results=5
文字エンコードされているように見えるので、 decodeURIComponent – MDC を使いデコード。
decodeURIComponent("http://jutememo.blogspot.com/search?updated-max=2009-09-11T08%3A40%3A00%2B09%3A00&max-results=5")
結果は、
http://jutememo.blogspot.com/search?updated-max=2009-09-11T08:40:00+09:00&max-results=5
パラメータを見ると、
- updated-max
- max-results
updated-max は指定した日付と時間よりも前の記事を指定しており、max-results は 1 ページに表示する記事の数を表わしているようだ。
方法
日付の操作は Date – MDC を参照。注意することは、
month
- 1 月を意味する 0 から 12 月を意味する 11 までの、月を表す整数値。
「Blogger のドメイン、表示する投稿の数、年月日」を指定すると「前の投稿」のリンクを生成する createURL 関数を定義する。
// num が一桁の数字のとき先頭に 0 を加えて二桁にする function padzero(num){ return ("" + num).length == 1 ? "0" + num : num } function format(date){ return date.getFullYear() + "-" + padzero(date.getMonth()+1) + "-" + padzero(date.getDate()) + encodeURIComponent("T" + padzero(date.getHours()) + ":" + date.getMinutes() + ":" + padzero(date.getSeconds()) + "+") + "09:00" } function createURL(url, numOfPost, year, month, date){ return url + "search?updated-max=" + format(new Date(year, month-1, date)) + "&max-results=" + numOfPost }
自分のブログで 2008/4/9 よりも前の投稿を 10 件表示する URL を作成するには、
createURL("http://jutememo.blogspot.com/", 10, 2008, 4, 9);
結果は、
http://jutememo.blogspot.com/search?updated-max=2008-04-09T00%3A0%3A00%2B09:00&max-results=10
0コメント:
コメントを投稿