ThickBox3.1からLightboxに乗り換えた
ThickBox3.1からLightboxに乗り換えました。
理由はThickBox3.1が重いからです。先日SlimboxからThickBoxに乗り換えたばっかりですが、
YouTubeの動画を貼り付けてもIEがエラーを表示しなくなったのはいいのですが、なんだか重いわけです。
FirefoxだとましですがIEだとちょっと重い、特に開いた画像を閉じる時に時間が掛かる。しかも、
ブラウザがスレイプニルだと異様に重くなる。最初はましだけどしばらく使ってると異様に重くなって耐えられない。
それにThickBoxは画面のレイアウトがおかしくなる。マージンが0pxになる感じで文字が画面の上にくっつくようになる。
テストのページで他のAjax画像表示アプリと見比べるとよくわかる。
一番の問題は重いというこれにつきます。そこで元祖Lightboxを試してみようと思ったわけです。
現在LightboxにはLightboxとLightbox2.0が有ります。
Lightbox2.0はLightboxの後継で画像をうにょーんと表示したりするエフェクトがあったりで表示の方法がかっこよくなってたりします。
イメージセットで表示する機能も追加されています。
しかし、
画像の表示は1枚ずつでいいのでとにかく軽い奴がいいのでLightbox2.0ではなく元祖Lightboxを使わせていただくことにしました。
結果ですが、Lightboxに変えてみたらかなり軽くなりました。
Lightboxはjsファイル1個のみの約12KBそれに対して、
SlimboxやThicBoxはそれぞれjsファイル2個ずつで合計約35KBとLightboxの約3倍の容量が有ります。
Lightboxは無駄な機能がなく画像を1個表示する為だけのシンプルな作りなので軽いのも納得です。
↓↓↓Lightboxの設置方法は以下のとおり↓↓↓
1.Lightboxをダウンロードする
●Lightbox JS
http://www.lokeshdhakar.com/projects/lightbox/
上記のページから
lightbox.js
lightbox.css
overlay.png
loading.gif
close.gif
のファイルをダウンロードしてくる
2.ダウンロードした上記のファイルをサーバーにアップロード
Lightboxはjsフォルダとかcssフォルダに分けて設置するようになってないので、
そのままFTPでルートにアップロードしました。
わかる人はjsファイルとcssファイルをいじってパスを指定してあげるだけでフォルダを分けて設置することも可能です。
3.設置するページのヘッダにJavaScriptの読込タグを挿入。
下記のタグを<head>と</head> の間に挿入します。
<script type="text/javascript" src="lightbox.js"></script>
<link rel="stylesheet" href="lightbox.css" type="text/css" media="screen" />
4.画像を貼り付ける場合は下記の様にイメージタグを記述します。
元画像とサムネイル画像が必要です。
<a href="CA350541.jpg" rel="lightbox" title="にゃーんこ2"><img src="CA350541t.jpg" border="0"></a>
●ライセンスについて
Lightoboxは「Commons Attribution 2.5 License」です。
基本的には以下のとおりで、商用利用も可能ですがクレジットを表示する必要があります。
・本作品を複製、頒布、展示、実演することができます。
・二次的著作物を作成することができます。
・表示. あなたは原著作者のクレジットを表示しなければなりません。
詳細は下記ページを参照確認してください。
http://creativecommons.org/licenses/by/2.5/
http://creativecommons.org/licenses/by/2.5/deed.ja
※現在2.5は廃止になっていて3.0になっているようですが基本的には同じです。
また、lightobox.jsファイル内のコメントには下記の様にあり。翻訳ソフトに通すと下段の意味になるようです。
ちゃんと作者を偉功を尊重して従うようにしましょう。
(basically, do anything you want, just leave my name and
link)
(基本的に、あなたが望む何でもして、ちょっと私の名前を残して、リンクしてください)
●ちょっとだけ改造
そういうわけで、改造というほどのものでもないのですが、
上記のライセンスを踏まえた上でLightboxで画像を開いた時に常に作者のクレジットを表示してそこにリンクを貼る様にしてみました。
ちょととソースをいじって上の画像の様にクレジットを表示してリンクを張りました。
lightbox.jsの407行目あたりを下記の様に修正。
// objKeyboardMsg.innerHTML = 'press <a href="#" onclick="hideLightbox(); return false;"><kbd>x</kbd></a> to close';
objKeyboardMsg.innerHTML = '<a href="http://huddletogether.com/projects/lightbox/" target="_blank">Lightbox by Lokesh Dhakar</a>';
lightbox.cssの最後に
#keyboardMsg a{ text-decoration:none; }
を追加しました。
●Lightboxテストページ
https://blog.kumacchi.com/gagagagaga/lightbox.html
タグ : lightbox
はじめまして。
一昨日、Slimbox を初めて設置してみましたが、「完成!」 と喜んだのもつかの間、FireFoxでの表示テストで異常に表示が遅くなったような気がして、泣く泣く諦め…
こちらの記事を参考に Lightbox に変更しました。
表示テストは
IE6, unDonut(IE6), IE7, Sleipnir2.8.4(IE7), unDonut(IE7), FireFox3 で行いましたが、ページが完全に表示される前に画像をクリックすると、通常の表示になることがあるものの、なんとか正常な動作が出来ているようです。
情報ありがとうございました。
いらっしゃいませ。
綺麗まとまっているブログですね。見習わなくては。
( ゚Д゚)
javascript系のツールの欠点は、ページが読み込まれる前になんかされるとうまく動かないことですね。オンロードイベント大抵駆動なのでしょうがないのですが、なるべくページが素早く表示されるように重いブログパーツは外したり、問題がなければスクリプトの読み込みタグはなるべくページの先頭に持って行くなど工夫するといいかと思います。軽いページが一番です。