LiteBox から ThickBox に変更

2008/01/16

画像表示で使う js を、LiteBox から ThickBox に変えてみました。
ThickBox を他サイトで使ってみて自由度の高さと使い勝手に惹かれ、こちらも変えようかなーという流れです。

ThickBox 3.1

具体的に変更しようかな~と思ったのは以下の点が気に入ったから。

  • 大きい画像を表示した際にリサイズを勝手にしてくれる
  • 画像をクリックして閉じることが可能
  • 画像の外の上下左右どこかをクリックしても閉じることが可能
  • Esc キーでも閉じることが可能

後は画像以外のモノも表示できるので機会があったら使いたい、というのもありました。

それにあわせて、使っている WP プラグインの IImage Browser に少し手を加えました。

IImage-browser 日本語版 ≪ MMRT daily life さんからダウンロードした、IImage Browser 日本語版 の Default を利用しています。

IImage Browser の、wp-admin 内に入れる iimage-browser.php 内 71 行目付近を以下のように変更。

$ib_custom_code_full = '<a href="%src" title="%title" class="lightview"><img src="%tsrc" alt="%title" width="%twidth" height="%theight" /></a>';
$ib_custom_code_thumb = '<a href="%src" title="%title" class="lightview" rel=""><img src="%tsrc" alt="%title" width="%twidth" height="%theight" /></a>';

これで、ThickBox を使った画像の投稿が楽になりました。
過去の画像は、LiteBox を切ってしまったのでそのままページ移動で表示されるようになっています。

また、ThickBox は jQuery を使用しており prototype.js と競合がおきます。
これへの対処方法は以下のサイトを参考にさせていただきました。

具体的には、以下のようにヘッダー内に書き、jQuery を利用している .js 内の 「$」を「jQuery」に置換することで共存可能になりました。

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
<!--
	jQuery.noConflict();
//-->
<script type="text/javascript" src="prototype.js"></script>

このとき読み込ませる順番は、jquery.js を最初に、次に jQuery.noConflict(); の部分、最後に prototype.js 。
この順番でないと上手く動かないスクリプトが出てきたり、エラーが出たりと何かと問題があったので注意。