MovableTypeのススメ TOP >

2007年9月13日

ページの先頭に改行が入る問題(MTRemoveBlank)

ページの先頭に改行が入る問題(MTRemoveBlank)

MovableType4では出力されたページの先頭に空の改行が入ってしまいます。

これはページの先頭部分、<MTSetVar>を使って変数を定義している箇所で、<MTSetVar>自体は何も出力しないのですが、タグの間に入れる改行が出力されてしまうためです。

そのため、DOCTYPE宣言がページの先頭にならないんですね。

簡単な対策としては<MTSetVar>の後ろに改行を入れないでそのまま続けてしまうことです。

<MTSetVar name="body_class" value="mt-main-index"><MTSetVar name="main_template" value="1"><MTSetVar name="main_index" value="1"><MTSetVar name="sidebar" value="1"><MTSetVar name="module_recent_entries" value="1"><MTSetVar name="module_category_archives" value="1"><MTSetVar name="module_author_archives" value="1"><MTSetVar name="module_monthly_archives" value="1"><$MTInclude module="ヘッダー"$>

でも、この方法だとテンプレートが見づらくなってしまうんですよね。

そこで見つけたのがMTRemoveBlankプラグイン。ページ内のタグとタグの間のスペースやタブを削除してくれます。( MovableType3.3x、MovableType4 で確認済みとのことです。)

[使い方]
1.MTRemoveBlankプラグインをダウンロード

2.RemoveBlank.plをMTのプラグインディレクトリへアップ

3.テンプレート全体を <MTRemoveBlank></MTRemoveBlank> で囲む

以上です。

配布元はMovableType備忘録さまです。ありがとうございます。
この記事は期待通りの内容でしたか?
はてなブックマークに追加 del.icio.usに追加 livedoor clip!へ追加 Yahoo!ブックマークに登録

2007年9月12日

jquery.jsとprototype.jsの干渉について

jquery.jsとprototype.jsの干渉について

実はThickBox3を導入してからAjaxカレンダーが表示されなくなってました。

で、いろいろと調べたところThickBox3で使っているjquery.jsとAjaxカレンダーで使っているprototype.jsが干渉している様子。

あまり詳しいことはわかりませんが、jquery.jsとprototype.js共に$()という書式を持っていてそれぞれの戻り値が異なるためおきているようです。


以下はその対策です。

1.ヘッダー部分を下記のように変更(赤字部分を追加)

<head>
<script type="text/javascript" src="<$MTBlogURL$>prototype.js"></script>
<script type="text/javascript" src="<$MTBlogURL$>jquery.js"></script>

<script type="text/javascript">
    jQuery.noConflict();
</script>

</head>

2.thickbox.jsを開き $() function を jQuery() function に置換
具体的にはテキストエディタの一括置換で$(jQuery(に置き換えました。

3.修正したthickbox.jsをアップロード

以上でThickBox・Ajaxカレンダー共に機能するようになりました。


参考にしたサイト
ウノウラボ
夜の Discovery
この記事は期待通りの内容でしたか?
はてなブックマークに追加 del.icio.usに追加 livedoor clip!へ追加 Yahoo!ブックマークに登録
<<前のページへ 1314151617|18|19202122 次のページへ>>