2005年10月02日(日) 19:46
lilbox導入とカレンダースクリプトの修正 [MovableType]
MovableTypeのアップグレードを実施して、週末を利用して内部の動きやスクリプトの一部に修正を入れました。今回の最大の変更点は、lilboxの導入です。Google AdSense相当のものを貼り付けできます。それと、lilbox関連記事でキーワード検索にも対応させてみました。いろいろなノウハウを提供してくださった各位に感謝。
まずは、lilboxのドキュメントにある通りに導入します。このblogは、さくらインターネットのレンタルサーバー
ですから、特に問題なく終了。で、JavaScriptの変更点ですが、
問題は、このlilboxのスクリプトそのもので、スクリプトは、iframeを利用したスクリプトだったので、そのまま貼り付けてビルドすると、同じようにiframeを利用して実装しているカレンダーが見事にlilboxのiframeの中にも入ってしまいます。
このblogで使っているカレンダーは、小粋空間さんのblogにあるスクリプトを元に導入したんですが、どうやら、こいつのために使っている状態保持JavaScriptである、calender.js が悪さをしていた模様。元々のスクリプトを解析したところ、
var yearmonth = readCookie(name);
if (yearmonth) {
var iframe = this.document.getElementsByTagName('iframe');
iframe[0].setAttribute("src","archive-URL/calendar/" + yearmonth + "/index.php");
}
太字の部分のメソッドで探している文字列が、iframeなので、lilboxを使った場合、同じ画面にiframeが複数ある状態になるために、そこもカレンダーになってしまう模様。なので、以下のように修正。
var yearmonth = readCookie(name);
if (yearmonth) {
var iframe = this.document.getElementsByName('cal-iframe');
iframe[0].setAttribute("src","archive-URL/archives/calendar/" + yearmonth + "/index.php");
}
このスクリプト上では、iframeを探す考え方で作成されていて、小粋空間さんのblog上のテンプレート見てても、iframeが複数あることが前提になっていないので、今まで問題がなかったようです。HTMLの規則上では、iframeが複数許されているので、ここでは、nameの中身を見るように改良しました。
前後の記事
- Movable Type 3.2にアップグレード(2005/10/01 15:12)
- 産経Netview(2005/10/03 00:40)
このカテゴリの最新記事
- アップグレード&改修(2005/12/31 10:47)
- 書籍いろいろ購入(2005/10/12 23:58)
- lilbox導入とカレンダースクリプトの修正(2005/10/02 19:46)
- Movable Type 3.2にアップグレード(2005/10/01 15:12)
- スタイル変更&バージョンアップ(2005/07/05 22:14)
- コメント機能復活(2005/02/16 01:45)
- 現在コメントできません...(2005/02/09 12:27)
- 大改造中..(2005/02/06 00:01)
- トラックバック修正(2005/02/05 11:06)
- 書籍購入&リニューアル計画(2005/02/04 10:19)
