長年日記の前の日/次の日リンクを長年日記的前の日/次の日リンクに変えるUser.js(Opera用)
長年日記についてははてなのヘルプでも見て頂戴。
Opera9.24でしか動作は確かめてないのでOpera以外のブラウザで動作するのかどうかは知りませんし、動作させるのにはどうしたらいいのかとかも知りません。Operaでのuser.jsの使い方とかは適当に検索でもして調べてください。Wikiとかで見つかるはずなんで。
javascriptはかじり始めで、深いところは知らないので、間抜けなことやってるなぁとか思うことがあったら指摘してください。
追記
添削してくれた人がいた。どうもありがとう。ので、使ってみたい人はこっち使うといいと思います。
http://ashula.info/mt/d071114_hatena_naganen_js.html
でもこれはこれで残しときますけど。
var Urlmatch = location.href.match(/http:\/\/d\.hatena\.ne\.jp\/([^/]*)\/_{4}([0-9]{4})/); if( Urlmatch ){ document.addEventListener('load', naganenLink, false); var id = RegExp.$1; var date = RegExp.$2; var next = new Date( 2008, Number(date.substr( 0, 2 ))-1, Number(date.substr( 2, 2 ))); next.setTime(next.getTime()+24*3600*1000); var prev = new Date( 2008, Number(date.substr( 0, 2 ))-1, Number(date.substr( 2, 2 ))); prev.setTime(prev.getTime()-24*3600*1000); var nMon = next.getMonth()+1; var nDay = next.getDate(); var pMon = prev.getMonth()+1; var pDay = prev.getDate(); if( nMon < 10 ){nMon = '0' + nMon;} if( nDay < 10 ){nDay = '0' + nDay;} if( pMon < 10 ){pMon = '0' + pMon;} if( pDay < 10 ){pDay = '0' + pDay;} var linkNext = '/' + id + '/____' + nMon + nDay; var linkPrev = '/' + id + '/____' + pMon + pDay; function naganenLink(){ var anchors = document.getElementsByTagName('link'); var len = anchors.length; for( i = 0; i< len; i++ ){ var rel = anchors[i].getAttributeNode('rel'); if( rel ){ if(rel.value == 'prev'){ anchors[i].setAttribute('href', linkPrev ); }else if(rel.value == 'next'){ anchors[i].setAttribute('href', linkNext ); } } } var divs = document.getElementsByTagName('div'); len = divs.length; for( i = 0; i< len; i++ ){ var classed = divs[i].getAttributeNode('class'); if( classed ){ if( classed.value == 'calendar' ){ divs[i].innerHTML = '<a rel="prev" href="'+linkPrev+'"><前の日</a>|<a rel="next" href="'+linkNext+'">次の日></a>'; } } } } }
て、ここまで書いてて思ったんだが、日付見出しの横に長年日記へのリンクを生成するスクリプトとかあればいいのか、とか思ったんで、これから作ってくる。