エントリー編集画面に文字列選択なしでHTMLタグを挿入できるようにする

エントリー編集画面に文字列選択なしでHTMLタグを挿入できるようにする

Posted at March 3,2006 12:50 AM
Tag:[Customize, ManagementPage, MovableType]

非選択状態でタグを挿入エントリー編集画面でテキストエリアの右上にある 太字イタリックアンダーライン引用については、マウス等で文字列を選択状態にしておかないとタグが挿入できない仕様(というほどではありませんが)になっています。

先日「HTMLタグが挿入できません」というご質問を頂き、文字列を選択してくださいという回答を致しましたが、よく考えてみると選択状態でなくてもタグを挿入したい場合(タグを入力してからコンテンツを後で書き込む等)もあるのではないかと思います。

ということで、スクリーンショットのように非選択状態でもこれらのタグを挿入できるようにするカスタマイズです(例は blockquote タグを挿入)。

1.mt_ja.js の変更

HTMLタグの挿入は JavaScript で行っていますので、該当のスクリプトが書かれているファイル(mt_ja.js)の一部を修正します。
mt_ja.js はアップロードしている Movable Type のディレクトリ mt-static (index.html と同じパスにあると思います)の配下にありますので、それをダウンロード(ローカルに同じファイルがあればそれを利用)し、下記のパッチをあててください。

--- mt-static/mt_ja.js.bak Thu Mar 02 23:50:16 2006
+++ mt-static/mt_ja.js     Thu Mar 02 23:51:11 2006
@@ -236,7 +236,6 @@
 function formatStr (e, v) {
     if (!canFormat) return;
     var str = getSelected(e);
-    if (!str) return;
     setSelection(e, '<' + v + '>' + str + '</' + v + '>');
     return false;
 }

パッチがよくわからない、または面倒という方は、mt_ja.js を任意のエディタで開き、240 行目辺りを探して

function formatStr (e, v) {
    if (!canFormat) return;
    var str = getSelected(e);
//    if (!str) return;
    setSelection(e, '<' + v + '>' + str + '</' + v + '>');
    return false;
}

と赤色のコメント用の文字を追加するか、その行を丸ごと削除して

function formatStr (e, v) {
    if (!canFormat) return;
    var str = getSelected(e);
    setSelection(e, '<' + v + '>' + str + '</' + v + '>');
    return false;
}

としてください。
どちらの方法も、修正が終わったら元のディレクトリにアップロードしてください。

2.ページのスクロールバックを防止する

3.2-ja-2 ではタグ挿入ボタンをクリックした後、ページの先頭に戻ってしまう(スクロールバック)という問題があります。それを避けるためにはエントリー編集画面のHTMLタグ挿入ボタンの不具合を解消するプラグインを併用ください。

以上です。

関連記事
トラックバックURL


トラックバック

エントリの投稿・編集をさらに便利に from やむやむ
エントリの新規投稿や編集の画面に付いてる B (太字) や I (イタリック) ... [続きを読む]

Tracked on March 6, 2006 9:53 PM
コメント

どうってことないようで、これ、いいですね?。
先にタグを入力してから 中身入れたいときありますもん。
修正方法も楽で うれしいです。笑

[1] Posted by さえら : March 5, 2006 12:38 PM

トラックバックがとばせません。
迷惑さんの中に入ってるような気がします。

[2] Posted by さえら : March 5, 2006 12:56 PM

>さえらさん
こんばんは。
ご利用ありがとうございます!
迷惑トラックバックを見たのですが入っておりませんでした。
申し訳ありませんが再度送信願えますでしょうか。

以上です。
それではよろしくお願い致します。

[3] Posted by yujiro : March 6, 2006 7:55 PM

こんばんは。
なにがいけないのかわからないのですが、5回やってみましたがダメです。
今までこんなことはなかったんですけど・・・
後日再挑戦してみます。すみません。

[4] Posted by さえら : March 6, 2006 9:58 PM

>さえらさん
こんばんは。
今度は大丈夫でした!(というのも何ですが)
ひとつ迷惑トラックバックに登録されてました。
お手数おかけしてすいません。
ではでは!

[5] Posted by yujiro : March 6, 2006 10:24 PM

w(°o°)w おおっ!!よかったですぅ。
考えてみたら 「重複トラックバック防止プラグイン」 がはたらくから
ムキになって 何回も送信したって意味なかったですね。ヾ(´▽`;)ゝ ウヘヘ

[6] Posted by さえら : March 7, 2006 6:16 AM

>さえらさん
こんばんは。
そういえばそうでした。(笑)

[7] Posted by yujiro : March 8, 2006 9:47 PM
コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)