ここにfoobar2000で聞いている(た)CDの情報を出すのに、自分のコストをなるべく削ろうとしたらとても遠回りになった。Last.fmのデータ(特にアルバム名)にゆらぎがあるのと、Amazonの検索結果を適切なものすることができなかったりで……。ちょっとの間つけていたけど既に取り外してしまった。
同時にジャケット画像を化粧ケースに入れるスクリプトも書いた。ジャケット画像の代わりに、背景が透過する化粧ケース(jewel caseって言うらしい)の画像を表示して、その背景にジャケット画像を改めて設定してやるというもの。
$$('img.jacket').each(
function (image, i) {
image.style.display = 'none';
var imageJewelBoxed = document.createElement('img')
imageJewelBoxed.setAttribute('src', './092.png');
imageJewelBoxed.setAttribute('width', '182');
imageJewelBoxed.setAttribute('height', '164');
imageJewelBoxed.className = 'imageJewelBoxed';
imageJewelBoxed.style.backgroundImage = 'url(' + image.src + ')';
image.parentNode.insertBefore(imageJewelBoxed, image.nextSibling);
}
);
作り終わってから普通に化粧ケースの画像を重ねれば良いだけじゃねーかということに気づいた。なんでこんな風に書いたのか今となってはわからない。
重ねる化粧ケースの画像をIE6でどうするか決めかねたので、結局こっちもほぼお蔵入り。その時にIE6を弾くとしたらどうしようと、
<script type="text/javascript">
var less_than_ie6 = 0;
</script>
<!--[if lt IE 7]>
<script type="text/javascript">
less_than_ie6 = 1;
</script>
<![endif]-->
とか書いてしまった。見た感じアホっぽいコードだけど、頭使わないで自由自在にIEのバージョンを判別できるので、これはこれで便利なのかもしれない。