バックナンバーのリスト表示をプルダウン表示にする

先日、バックナンバーのリスト表示をやめる方法について書きましたが、今回はプルダウン表示にする方法です。
設定方法は先日の方法と同じですが、スクリプトは次のものに差し替えてください。

<script>
var flg;
var new_inner;
var obj_ul=this.document.getElementsByTagName('ul');
for(var i=0;i<obj_ul.length;i++){
  flg=false;
  new_inner="";
  var obj_li=obj_ul[i].getElementsByTagName('li');
  for(var j=0;j<obj_li.length;j++){
    var obj_li_inner=obj_li[j].innerHTML;
    var obj_a=obj_li[j].getElementsByTagName('a');
    if((obj_a.length==1)&&(obj_li_inner.match(//..../../index.htm/))){
      flg=true;
      new_inner=new_inner+"<option value='"+obj_a[0]+"'>"+obj_a[0].innerHTML;
    }
  }
  if(flg==true){
    obj_ul[i].innerHTML="<form method=post><select onChange='goto(this)'><option value=''>選んでください"+new_inner+"</select></form>";
  }
}
function goto(myobj){
  myurl=myobj.options[myobj.selectedIndex].value;
  if(myurl!=""){
    location.href=myurl;
  }
}
</script>

バックナンバー(月別アーカイブ)のリンクが「http://xxx/2004/12/index.html」のように表示される場合(もっと正確に書けば「/nnnn/nn/index.htm」という文字列を含む場合)、これをプルダウン表示に置き換えます。
ブログ人でうまく動きます。ココログでもおそらく大丈夫です。MovableType型ならば大丈夫だと思います。

関連記事

[2005-01-29(Sat)]

デジタル・インターネット

ヒーチャン、病院に行く(3) | 楽庵(町田市)

© 2014 You Look Too Cool