日本語Ajax IMEのブックマークレットもでてきてにわかにブックマークレットIMEが盛り上がりつつありますが、こちらのHangul IMEも鋭意更新中です。
chiyuさんのご意見も採用し、ローダファイルを別途用意することでブックマークレットのソースをすっきりさせました。(chiyuさん本当にありがとうございます)
また、IE6での動作も可能になりました。
完了項目
・ドラッグ周り修正
・IE6への対応
・複数回実行に関する配慮
・閉じるボタンの実装
これからの項目
・「読み込み中」の表示
・漢字変換の実装
・定型文字一覧からの選択を可能にする
・フレームのあるページでの動作を調査
・キーボード配列の表示
・コピペ機能の実装
・ほかのフォームへの自動複写
・ほかのフォームを乗っ取る
以上です。
あと、現在Javascriptで様々な言語IMEを実装するためのフレームワークを策定しようと模索中です。
IMEに必要な入出力や画面の要素を標準化すれば将来役に立つんじゃないかと思っています。
標準があれば、あとは変換エンジンを書けばいいだけになるので、再利用性も高まると思われます。
どなたか、ご協力いただける方がいらっしゃると幸いです。











こんばんは。
IEで動くようになって、良かったです。
フレームワーク、私に出来ることがあれば協力できるですが.....
ところで、もしよかったら、ひとつ教えて欲しいのですが...
あるformがactiveになっている状態で
javascriptの関数を実行して、
そのformの名前(document.form.inputboxみたいな形で)
(名前でなくてもformそのものの参照でもいいのですが)
を取得することはできるのでしょうか??
自分が考えているのは、
あるtextareaでbookmarkletを呼ぶと、
ソフトウェアキーボードが表示されて、
マウスをクリックすると結果がそのtextareaに挿入される、
というものです。
別のtextareaに挿入したいときは、
textareaを選択してからbookmarkletを改めて呼ぶ、
という手順を想定しています。
もしもこれが実現可能であれば、
ソフトウェアキーボードの代わりに、
別の、いろんなアイデアが実現可能ではないか、
とも思うわけです。
例えば、顔文字を入力するのに、
マウスを使って、
いくつかグループ分けされたタブをクリックして、
表示された中から目的の顔文字をクリックして入力、
のような。
....いろいろ想像するだけでは、実現可能かどうか
わからないし、自分で調べなさい、言われて当然ですが、
もしご存じならば、教えてもらえれば嬉しいです。
こんばんは。
お返事ありがとうございます。
とりあえず、教えてもらった方法で作ってみます。
1.
すべてのinput要素とtextarea要素をループで探索し、onblurイベントハンドラにattachEvent(addEventListener)
で関数を追加する。
その関数は、ある大域変数Aに
そのtextarea自身を代入する。
2.
ソフトウェアキーボードのウインドウを生成し、
その上でキー画像をマウスクリックすると、
上の大域変数Aが保持するtextareaに
結果を出力する。
3.
ソフトウェアキーボードのウインドウには、
現在の出力先を表示させておく。
onBlurイベントが発生するたびに、
もしも発生源がtextareaやinput textboxならば、
それが表示される。
(document.form.textareaの形か、あるいはid属性などで)
この方針で作ってみます。
実際に作ってみないと 上手く動くかどうか分かりませんが、
自分にも出来そうな気がしてきました。
ありがとうございました。
Colspanさんの
selecter.js
をそのまま借りていきます。
すべてのinput要素とtextarea要素をループで探索する部分は
日本語Ajax IMEのコードを参考にする。
ソフトウェアキーボードの画像を用意するのが面倒だから、
昔作った携帯電話式入力のページ
http://ha1.seikyou.ne.jp/home/akairingosaita/typing/test2-8.htm
http://ha1.seikyou.ne.jp/home/akairingosaita/typing/test2-9.htm
http://ha1.seikyou.ne.jp/home/akairingosaita/typing/test2-7.htm
を流用して、送信ボタンをクリックすると
大域変数Aが保持するtextareaへ文字が送信(?)されるようにする。
# わざと「送信中」という表示をして、3秒くらい待ってから
# textareaに挿入する、とか??
必要な物は全てそろった気がするのですが、
きっと実際に作ってみると足りない物が
たくさんでてくるのだろうな...
とにかく、方針は決まったので、後は実行するだけ...
(これが、なかなか実行できなくて.....)
参考になれたようで、幸いです。
完成が楽しみです。僕にも協力できることがあれば是非させてください。
あ、あと、selecter.jsについてなんですが、若干まずい部分が混じっているので、近々修正したいと思います。
処理対象の文字数のカウントを1に固定しているのですが、str.lengthといった長さをきちんと考慮した実装にしなければ将来的に問題が出そうであるためです。
基本的には今のままでも大きな問題はなく、ファイルの差し替えるだけで直せますので、直しましたら連絡差し上げます。