jQuery.ime_external Pluginを作成しました。

Microsoft Trackball Opticalの復活を切に希望中のagoです。

今年旅する支社として行ったイタリアで、Flash経由でJSからIMEを操作するプラグインを作成したのでjQuery.ime_externalとして公開したいと思います。

同種のJSは過去にもいくつかあったんですが、検証的な内容のものが多く、jQuery Pluginとして作成されたものも無いようなので作成してみました。

使い方はswfをサーバへアップロードした後、jQueryと一緒にpluginを読み込み、要素に対して以下のmethodを呼び出してください。

$(function () { $(/* or selector */).ime_external(); });

これで、該当要素にfocusしたときに自動的にimeが全角モードになります。

これだけだと既存のものとあまり変わらないのですが、ime_externalでは直前のIMEの状態を記憶しており、ime_externalでIMEの状態を変更した要素からfocusが外れるとIMEの状態を変更前の状態へ戻すようになっています。

また、ユーザ操作でIMEを変更した後いったんfocusが失われても、再focus時にユーザが変更したIMEの状態へ戻す処理を実装しているため、項目を前後する操作を行ってもあまり違和感なく使用できると思います。

指定できるパラメータと初期値は以下の通りです。

<script type="text/javascript"jquery.ime_external.js#swf=/swf/Ime.swf"></script>
/*
    Ime.swfのURI。
    ファイルの保存されているURIを指定。
    添付のIme.swfを使用する場合、読み込み元URIと同じドメイン内を指定。
    初期値 (script fileと同じディレクトリ)/Ime.swf
*/
swf=(script fileと同じディレクトリ)/Ime.swf

$(/* or selector */).ime_external({
    /*
        IMEの状態を指定。
        ime_hiragana,ime_offを指定可能。
        ime_hiraganaで「ひらがな」、ime_offで「半角英数」になる。
        初期値 'ime_hiragana'
    */
    'type' : 'ime_hiragana',
    /*
        swf読み込み後の待ち秒数。
        初期値 1000
    */
    'interval' : 1000
});

Plugin自体はMIT、GPLのDual license、公開場所はCodeReposを使用させていただいているので、興味のある方はご自由に組み込み、修正を行ってください。

(Ime.swfのソースも一緒に公開したいのですが、ファイルがどこかへ行ってしまったのでswfのみ公開しました)

例によって以下のリンクをクリックすることで一時的にお試しいただくことが可能です。

jQuery.ime_external有効化

カヤックではJSの拡張としてflashを扱う方や、flashの拡張としてJSを扱う技術者を募集しています!