印刷用表示へ切り替え 通常表示へ切り替え 更新履歴を表示 更新履歴を隠す
MovableType HTMLArea 3.0-RC1 は Mozilla に向かない

dynarch.com が配布している HTMLArea 3.0-RC1 を試す。このバージョンは Mozilla 1.3 以降をサポートしているとある。Mozilla 1.7.3 で試したところ、動作に問題があることが分かった。インストールからアンインストールまでをまとめておく。

■ ■ ■

HTMLArea は、HTML の Textarea を WYSIWYG にしてくれる Javascript ベースのツールである。対応しているブラウザは、Mozilla 1.3 以降、Mozilla Firefox、Netscape 7.1 以降Windows 用 IE 5.5 以降など、幅広い。

Movable Type 2.661 の環境で試してみることにした。ブラウザは Windows 用 Mozilla 1.7.3 、OS は Windows XP である。

Going My Way: MTのすべての編集画面で使えるようにHTMLArea3.0-RC1を組み込む では、HTMLArea を Movable Type の編集画面で使えるようにする方法が丁寧に解説されている。さらに、編集画面の「エントリーの内容(body)」と「追記(extend)」の両方で HTMLArea を使えるようにするテンプレートファイルも公開してくれているので非常にありがたい。

インストールは、分散した複数のディレクトリにファイルをアップロードしなければならないため多少面倒ではあるが、問題なく完了する。

Mozilla での動作

Mozilla でペーストしようとすると、次のメッセージが表示される。

JavaScript Application Alert
JavaScript Application Alert

これはセキュリティに関する警告メッセージで、Mozilla が出している。動作としては正しい。しかし、このままだとクリップボードからのペーストができないので困る。解決方法は2つあって、「< >」ボタンを押して、ソース表示モードにしてからペーストする方法と、Mozilla の設定を変える方法がある。Mozilla の設定を変えるには、プリファレンスファイルを編集しなければならない(Setting Prefs for the Mozilla Rich Text Editing Demo)。

  1. Mozilla を終了する
  2. 「C:\Documents and Settings\ユーザ名\Application Data\Mozilla\Profiles\ユーザ名\ランダム文字列.slt」ディレクトリの「user.js」ファイルを開く (なければ新規に作成する)
  3. user.js ファイルに次の内容を書いて保存する
    user_pref("capability.policy.policynames", "allowclipboard");
    user_pref("capability.policy.allowclipboard.sites", "http://your-domain");
    user_pref("capability.policy.allowclipboard.Clipboard.cutcopy", "allAccess");
    user_pref("capability.policy.allowclipboard.Clipboard.paste", "allAccess");
    「your-domain」には、Movable Type がインストールされているサーバのドメイン名を指定する。ディレクティブが「sites」と複数形になっていることから予想できるように、このドメイン名には複数の指定が可能である。2つ以上のドメインを指定する場合は、半角スペースで区切ればよい。
  4. Mozilla を再起動する

これで無事クリップボードからのペーストができるようになる。Firefox でも同様なようだ(Going My Way: HTMLArea+Firefoxで貼り付けるときにアラートが出る場合の対処法)。

Mozilla での不可解な動作

Windows の Mozilla では、HTMLArea はあまり嬉しくない動作をする。例えば次のようなことが起こる。
  • 公開済みのエントリを開いてそのまま保存するだけでも、内容が変わることがある
  • 日本語入力しようとすると、検索モードになってしまい、編集画面に表示されている文字列とマッチするので煩わしい
  • テキストフォーマットの指定を「None」に設定して保存しても、次に開くと「Convert Line Breaks」にチェックが入ってしまう
  • 思い通りにタグの編集ができない

最初にあげた「内容が変わることがある」は致命的。画像をポップアップ表示するタグを使っている場合は、特に悲惨な結果になる。

次の「日本語入力」に関しては、「メール」と入力すると画面上の方にある「メインメニュー」の「メ」にマッチし、「する」と入力すると画面下の方にある「カスタマイズする」の「する」にマッチしてしまうため、入力を進めていくと画面が自動的にスクロールすることになり、気持ちよくない。ちなみに、このモードは「Find As You Type」と呼ばれるもので、Mozilla の「Edit」→「Preferences」→「Advanced」→「Keyboard Navigation」→「Find As You Type」で設定できる。

「思い通りにタグ編集ができない」は、HTMLArea をインストールしなくても確かめることができる。上記の Going My Way で作ってくれているサンプルページ で確かめることができる。例えば、次のような不思議な動作をする。

  1. 通常モードで「test 改行 改行 test」と入力してみる。ここでソース表示モードに切り替えると、IE では、正しく
    <p>test</p>
    <p>test</p>
    となるのに、Mozilla では
    test<br /><br />test<br />
    となる。この辺りからかなり怪しい。
  2. そこで、ソース表示モードで
    <p>test</p>
    と入力して、通常モードに切り替える。ここまでは問題なし。
  3. 通常モードで、改行を入れて、その後ろに「test」と入力し、
    test

    test
    とした後、間の改行を削除して
    test
    test
    とする。
  4. ここでソース表示モードに切り替えると
    <>test<br />test<br /></>
    となる。「これは何だろう?」と一瞬思う。
  5. そのまま通常モードに切り替えると
    <>test
    test
    という意味不明の表示になる。

アンインストール

あまりに悲しくなったので、アンインストールすることにした。しかし、複数のディレクトリに分散しており、ファイルも多数なので面倒。オリジナルの Movable Type のディレクトリにもインストールされているので、間違えば、大事なファイルを削除してしまうこともあり得る。そこで、スクリプトを生成して削除することにした。これはサーバに Telnet できる場合のみ有効な方法で、それ以外は1つずつ削除するしかない。

(注意: 以下で行うファイルの一括削除は危険な方法です。少しでも不安な場合は絶対にマネしないでください。) HTMLArea-3.0-rc1.zip を Linux 上で展開する。展開したディレクトリ「 に移動して、次のコマンドでスクリプトを生成する。

$ find . -print | gawk '{print "/bin/rm -i", $1}' > tmp.sh

tmp.sh の内容は、次のようなものになる。

/bin/rm -i .
/bin/rm -i ./dialog.js
/bin/rm -i ./htmlarea.js
/bin/rm -i ./popupdiv.js
/bin/rm -i ./popupwin.js
/bin/rm -i ./index.html
...

これを Movable Type のインストールディレクトリに移動して、実行する。

$ mv tmp.sh MTPath
$ cd MTPath
$ sh tmp.sh

「削除しますか?」という問い合わせがあるので、確認して「y」で答える。このスクリプトでは、ディレクトリを削除しないので、不要なディレクトリは手動で削除する。

$ rmdir lang
$ rmdir popups
$ rmdir plugins/CSS/lang plugins/CSS
$ rmdir plugins/ContextMenu/lang plugins/ContextMenu
$ rmdir plugins/FullPage/img plugins/FullPage/lang plugins/FullPage/popups plugins/FullPage
$ rmdir plugins/SpellChecker/img plugins/SpellChecker/lang plugins/SpellChecker
$ rmdir plugins/TableOperations/img plugins/TableOperations/lang plugins/TableOperations

最後に、テンプレートファイル「MTPath/tmpl/cms/edit_entry.tmpl」と「MTPath/tmpl/cms/bm_entry.tmpl」、スタイルシート「styles.css」を元に戻す。

以上で完了。HTMLArea のバージョンアップを期待したい。

HTMLArea には、interactivetools.com で開発され、現在 htmlArea WYSIWYG editor for textarea で公開されているものもある。これと上記の HTMLArea との関係がどうなっているのは、よく分からない。

Posted by n at 2004-11-18 22:47 | Edit | Comments (0) | Trackback(0)
Trackbacks

  • 「手違いで複数トラックバックを送ってしまった!」という場合でも気にしないでください (重複分はこちらで勝手に削除させていただきます)
  • タイムアウトエラーは,こちらのサーバの処理能力不足が原因です (詳細は トラックバック送信時のエラー をご覧ください)
  • トラックバックする記事には,この記事へのリンクを含めてください(詳細は 迷惑トラックバック対策 をご覧ください)
Comments
Post a comment
  • 電子メールアドレスは必須ですが,表示されません (気になる場合は「メールアドレスのような」文字列でもOKです)
  • URL を入力した場合はリンクが張られます
  • コメント欄内ではタグは使えません
  • コメント欄内に URL を記入した場合は自動的にリンクに変換されます
  • コメント欄内の改行はそのまま改行となります
  • 「Confirmation Code」に表示されている数字を入力してください (迷惑コメント対策です)


(必須, 表示されます)


(必須, 表示されません)


(任意, リンクされます)


Confirmation Code (必須)


Remember info (R)?