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コメント:
コメントを投稿