日記
extedit - Webブラウザの入力フォームで好きなエディタを使うEdit

概要

Internet Explorer(もしくはIEコンポーネントを使ったブラウザ)のtextarea入力を、外部エディタを利用して行うためのツール。IEの右クリックメニューから外部エディタを呼び出してテキストを編集し保存終了すると、textareaにその内容が反映される。

※ソースの公開やカスタマイズ性が不要な方は、「AreaEditor」を使った方が便利ですよ。

必要な環境

  • Windows+IE(コンポーネントを使ったブラウザ)
  • WSH

インストール

  • 2004/4/15板 zipファイル(extedit_040415.zip)/lzhファイル(<extedit_040415.lzh)のどちらかをダウンロードし、解凍する。
  • 解凍されたファイルを適当なディレクトリ(「c:\program files\extedit」など)にコピーする
  • install.exeを実行し「インストール」ボタンをクリックする。
  • IEもしくはIEコンポーネントを使ったブラウザを一度すべて終了し、再起動する

使い方

  • ブラウザでtextareaを持つ投稿フォームがあるページを開く。
  • 編集したいtextareaの上で右クリックメニューから「外部エディタで編集する(extedit)」を実行する。
    • すると、テンポラリディレクトリに編集用のテキストファイルが生成され、そのファイルがエディタで開かれる。
    • ファイル名は日付時刻+「.txt」となる。デフォルトではテンポラリファイルは削除しないので、入力履歴をローカルにバックアップするという意味も持つ。

  • エディタを閉じると、編集した内容がtextareaにセットされる
    • テンポラリファイルには、そのときの日付時刻およびURLが記録される
    • ログファイル(extedit.log)には、日付時刻、URL、テンポラリファイル名が記録される
  • 注意点
    • エディタでの編集中は呼び出し元ブラウザはロックされるため、タブブラウザなどを利用している際には他のウィンドウを参照できなくなるという欠点がある。

アンインストール

  • install.exeを実行し、「アンインストール」ボタンをクリックする(レジストリの登録が削除される)。
  • exteditがあるディレクトリを削除する。

カスタマイズ

  • extedit.jsの設定部を変更することで、以下のカスタマイズが可能になる。
    • tempdir……使用するテンポラリディレクトリ。「ex) tempdir = "c:\tmp";」デフォルト(未設定)ではシステムテンポラリディレクトリを使用する。
    • logfile……ログファイルパス。「ex) logfile = "c:\tmp\log.txt";」デフォルト(未設定)ではシステムテンポラリディレクトリ+"\extedit.log"を使用する。
    • editor……編集の使用するエディタパス。「ex) editor = "c:\program files\hidemaru\hidemaru.exe";」。デフォルトでは「.txt」に関連づけられたエディタを開く。
    • deletetemp……テンポラリファイルの削除設定。「deletetemp = true;」とすると、作成したテンポラリファイルを削除するようになる。
    • targetItems……対象となるtextareaを選択せずに実行した場合に、優先的に対象とするtextareaのname属性。配列で指定する。

TIPS

  • MovableTypeみたいな、投稿欄にHTMLを記述できるツールを使う場合は、テンポラリファイルの拡張子をhtmlにして、エディタをHTMLエディタ(Dreamweaverとか)にするといいかも。
  • HTMLのローカルプレビューをしたい場合は、doEdit()の最後にでも、var preview = window.open();preview.document.write(body);とか追加すると、エディタを閉じたときに別窓が開いてそっちでプレビューできる。
  • 元ブラウザがロックする件、投稿フォームだけはタブブラウザとかじゃなく、単体のIEで開いておく(とメインのタブブラウザはロックされない)という逃げ道もありますよ。アホっぽいけど。

ライセンス

  • extedit.js、インストーラともにGPL(gpl.txtを参照)。

更新履歴

  • 2004/3/18 最初のてきとーバージョン公開
  • 2004/3/18-2 テンポラリファイルを日付時刻で自動生成、削除するようにした。
  • 2004/3/19 全面的に作り直して、exteditという名前にしてアップロード
  • 2004/3/19-2 やっぱりソースを本文にも載せた
  • 2004/3/19-3 インストールと使い方を書いた
  • 2004/3/19-4 textareaが見つからなかったときの処理を変更。あとちょっと変数名をいじった
  • 2004/3/19-5 終了時に親Windowにfocus()。デフォルトでtempdirがない場合はシステムtempパスを利用。デフォルトエディタをnotepad.exeに変更。
  • 2004/3/19-6 textareaにfocusがある状態で呼び出すと、そのtextareaを最優先ターゲットにするよう変更。
  • 2004/3/21 デフォルトエディタを未設定(=「.txt」に関連づけられているエディタ)に変更
  • 2004/3/22 インストーラ付きアーカイブを用意した。あとライセンスをGPLに。
  • 2004/3/22-2 インストーラを(たぶん)単体で動作するようにコンパイルし直した。
  • 2004/3/29 テンポラリファイル名にtextarea名を使わないようにした。テンポラリファイルを残す場合、テンポラリファイルの最初に更新日時、元URLを挿入するようにした。ログファイルに更新日時、URL、テンポラリファイル名を残すようにした(ネタ元)。
  • 2004/4/15 月情報が-1されていたのを修正。日付時刻ベースの文字列をきちんとフォーマットするようにした(ネタ元)。

Published At2004-03-18 13:51Updated At2004-03-18 13:51