2

タイマーでサーバーに一連のコマンドを送信する必要があります-次のように:

put(0,"hello")
del(4,1)
put(4," is around the corner")

そのため、すべてのユーザー入力を監視および記録し、マクロのようなタイムアウト (アイドル) でコンパイル/フラッシュする必要があります。

onKeyUp/ onKeyDown/ onMouseDown/テキストエリアのカーソル位置とキー情報を使用して///起こっていることすべてを記録できます(そしてonMouseUp後でクロスブラウザにします)が、マウスの右ボタンを使用して貼り付け、「貼り付け」を選択したり、メニューから貼り付けたりすることはできません(私は処理できますが、貼り付けられているか、押されたキーとしてすでに記録されており、フォーカスが変更された後にのみ起動するという情報はありません)。コンテキスト メニューからの貼り付けでもいくつかの有用な情報が表示されますが、ブラウザからのメニューが唯一のものであり、Javascript には何も提供しません。onChange

jQueryなどのプラグインはありますか? current-document と document-a-second-before を比較せずに実装する方法は他にありませんか?

更新:cut / copy/を処理するためのイベントがありますpaste: http://www.quirksmode.org/dom/events/cutcopypaste.htmlですが、1 つについてはundoどうですか?

PS 誰かが本当に必要な場合は、終了時にマクロ記録コードを表示します。そして、それを適切に仕上げるためには、undoハンドリングの可能性が必要です。現在のバージョンはこちら: http://code.google.com/p/sametimed/source/browse/WebContent/module-editor.js、メソッドを探しますcompileCommands

4

1 に答える 1

1

ブラウザによっては、聞くことができるカット/コピー/ペーストのイベントがあります。したがって、それらがトリガーされた場合はそれらを使用できますが、そうでない場合は、より面倒な回避策に戻ります。

参照: http://www.quirksmode.org/dom/events/cutcopypaste.html

于 2009-11-13T13:37:26.517 に答える