2005-09-22

カテゴリーを「はてな」以外のタグにする |Blogger|JavaScript|Tag|

[2005-09-15] 以降、 clmemo@aka では 記事の末尾に「カテゴリー・タグ」を付けるようにしている。このタグは はてなブックマークのタグを利用したもの

さて、 はてなブックマークのタグを、 他のサービス (Technorati とか del.icio.us とか) のタグに置換する bookmarklet を先日書いた。これらを組み合わせると、このブログの ( はてなブックマーク による) カテゴリー・タグを他のサービスのタグに切り替えるコードを書けることに気付く。

記事を読んで興味を持ったら、好みのサービスでタグ検索をしてみては如何?

フォーム

ブログ右カラム一番上に「About」というセクションがあって、その中に次のような form がある。

Category by My はてな All はてな del.icio.us Flickr Technorati

ラジオ・ボタンを押して好みのサービスを選ぶと、記事下のカテゴリーがそのサービスのタグへとリンクする。

Source Code

コードは bookmarklet と同じ JavaScript コード。

<script language="JavaScript">
<!--
function tagReplace (url, space){
  var a = document.getElementsByTagName('a');
  for (var i=0; i<a.length; i++){
    if (a[i].className.match(/^tag/)){
       a[i].setAttribute('href', url+a[i].innerHTML.replace(' ',(space)?space:'%20'));
    }
  }
}
// -->
</script>
<form>
  <span>Category by</span>
  <input type="radio" name="t" onClick="tagReplace('http://b.hatena.ne.jp/at-aka/');" checked="checked" />My はてな
  <input type="radio" name="t" onClick="tagReplace('http://b.hatena.ne.jp/t/');" />All はてな
  <input type="radio" name="t" onClick="tagReplace('http://del.icio.us/tag/');" />del.icio.us
  <input type="radio" name="t" onClick="tagReplace('http://www.flickr.com/photos/tags/');" />Flickr
  <input type="radio" name="t" onClick="tagReplace('http://technorati.com/tag/','+');" />Technorati
</form>

この手のコードを書く時は、サービスに寄って空白の扱いが違うので注意が必要。例えば、 はてなブックマーク はスペースを %20 にするけど、 Technorati+ 記号を使う。なお、コードをコピペする時は、 My はてな の URL が僕の はてなブックマークへのリンクになってるので各自直して下さい。

.

No comments:

Post a Comment