MovableTypeの管理画面カスタマイズ方法 for Safari part1。

タイトル通り、管理画面のカスタマイズ方法を紹介。

まず、Safari等でボタンすら表示されないのは、どういうことかと言うと、
ボタンの部分はjavascriptによって、ブラウザを判別し、表示・非表示を決めています。
以下がその部分を制御しているソース

■MTインストールディレクトリ/mt-static/mt_ja.js 197行目あたり
var canFormat = 0;if (document.selection)
    canFormat = 1;
var ua = navigator.userAgent;
if (ua.indexOf('Gecko') >= 0 && ua.indexOf('Safari') < 0)
    canFormat = 1;

canFormatという変数(フラグ)を作り、初期値を0(false)にしています。
次にdocument.selectionが使えるブラウザには1(true)、
userAgentを判定し、GeckoでかつSafariでない場合も1(true)を代入。
この時点で、ボタンの表示・非表示が決まります。

■MTインストールディレクトリ/tmpl/cms/edit_entry.tmpl 346,370行目あたり
if (canFormat) {
 with (document) {
  〜省略(ボタン部分のソース)〜
 }
}

そして、テンプレートファイル部分にcanFormatが1(true)であれば、
ボタン部分のソースを書くという命令を実行させています。

今回は最新版のSafariに対応させてみます。

まずは、ボタン自体を表示させる為に、SafariでもcanFormが1(true)になるように、下記のソースを追加。場所は上記の該当部分の直後に。

if (ua.indexOf('Safari') > -1 && ua.indexOf('417') > -1)
    canFormat = 1;

たったこれだけでボタンが表示されるようになります。
しかし、ボタンが表示されるだけで、肝心のボタン機能はまだ使えません。
続きはまた来週に。

Add Bookmark

Post Comment

TrackBack URL

http://blog.trustworks.biz/cgi-bin/mt-tb.cgi/5

2010/01

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Studying

  • RSS2.0
  • Skype