ツールバーのバグ
FCKeditorのツールバーで改行を指定すると、IEではツールバーのレイアウトが崩れてしまう。
ツールバーはコア部分で表示しているので、修正するのは FCKeditor/editor/js/fckeditorcode_ie.js のはずだ。
しかしこのファイルは、ダウンロード時間短縮のためパッケージング(ダウンロード最適化)されており、簡単には修正できない。
パックされるファイルは、FCKeditor/editor/_source/ の中に一式そろっているので、これを修正してパッケージングすればよい。
今回は、コア部分の修正方法と、上記デバッグを紹介する。
ツールバーのデバッグ
事前にFirefoxの DOM Inspector で調査したところ、ツールバーの改行は、div タグの clear: left で実現しているようだ。
clear をキーワードに _source ディレクトリのスクリプトを検索したところ、fcktoolbarbreak_ie.js にバグが見つかった。
FCKToolbarBreak.prototype.Create = function( targetElement ) { var oBreakDiv = FCKTools.GetElementDocument( targetElement ).createElement( 'div' ) ; //oBreakDiv.className = 'TB_Break' ; // !!! bug !!! //oBreakDiv.style.clear = FCKLang.Dir == 'rtl' ? 'left' : 'right' ; // !!! bug !!! oBreakDiv.style.clear = FCKLang.Dir == 'rtl' ? 'right' : 'left' ; // !!! debug !!! targetElement.appendChild( oBreakDiv ) ; }
fcktoolbarbreak_gecko.js に合わせて修正したところ、あっさり直った。
次はパッケージングを行う。
パッケージャのダウンロード
パッケージャは Microsoft.net 1.1 か 2.0 用のものがダウンロード可能だ。以下からダウンロードして解凍する。
FCKeditor の各バージョン用があるので注意すること。
パッケージング
解凍したフォルダの中にある FCKeditor.Packager.exe を、適当なディレクトリに保存する。
コマンドプロンプトで作業する必要があるので、C:FCKeditor 等のフォルダを作るのが便利だ。
後はそのフォルダで以下のコマンドを実行する。
FCKeditor.Packager C:InetpubwwwrootFCKeditor
C:InetpubwwwrootFCKeditor の部分は各自の設置ディレクトリに置き換えてください。
これで完了。
デバッグ完了