以前、alpsclip tagger を利用して ALPSLAB の地図を貼り付ける方法を試してみたが、IE ではエラーが出てうまくいかなかった。最近は JavaScript も見直されてきているようなので、勉強も兼ねて自分で書いてみることに。
alpsclip tagger との違いは
- 地図画像のみ表示(alpsclip tagger では地図画像と住所、住所(テキスト)のみ、地図画像のみと表示を複数選択可能)
- <span class="adr">住所</span>と書くと地図画像に置き換わる(alpsclip tagger は<alpsclip>住所</alpsclip>など)
- 文字コードが euc-jp 以外のブログでも使える(はず?)
WindowsXP の IE6 と Firefox1.5 、Opera8.53 では動作しています。それ以外は確認していないのでわかりません。(使用例)
おかしな点などありましたら、ご指摘頂けるとありがたいです。
function alpsclip() { var linkbase = 'http://clip.alpslab.jp/bin/rd?'; var imgbase = 'http://clip.alpslab.jp/bin/map?'; var code = 'UTF-8'; var elems = document.getElementsByTagName('span'); var len = elems.length; for (var i = 0; i < len; i++) { var attr = elems[i].getAttribute('class') || elems[i].getAttribute('className'); if (attr == 'adr') { var adr = elems[i].firstChild.nodeValue; var enc_adr = encodeURI(adr); var a = document.createElement('a'); a.setAttribute('href', linkbase + 'ie=' + code + '&adr=' + enc_adr); a.setAttribute('target', '_blank'); var img = document.createElement('img'); img.setAttribute('src', imgbase + 'ie=' + code + '&adr=' + enc_adr); img.setAttribute('alt', adr); img.setAttribute('title', adr); a.appendChild(img); elems[i].removeChild(elems[i].firstChild); elems[i].appendChild(a); } } } window.onload = alpsclip;