Websocket を使用して、ブラウザー間でキーボードをシミュレートできますか? 矢印キーと F11 をシミュレートしようとしています。
質問する
1949 次
2 に答える
4
主なイベントは、長年にわたってブラウザーで利用可能でした
サポートのリストについては、http://www.quirksmode.org/dom/events/keys.htmlを参照 してください。
ここでjQueryでキーイベント を操作するキープレスイベントをプログラムでシミュレートすることは可能ですか?
Websockets はすべてのブラウザーで利用できるわけではない新しいテクノロジーですが、Socket.io などの古いブラウザーで必要に応じて Web ソケットをシミュレートするライブラリを使用して、双方向のリアルタイム メッセージングを行うことができます。
クライアント上の疑似コードは次のようになります。
(function ($) {
function simulateKeyPress(character) {
jQuery.event.trigger({ type : 'keypress', which : character.charCodeAt(0) });
}
function onkeypress(key, ts) {
var act = {"timestamp" : ts, "key" : key};
socketIoClient.emit("message", act);
}
$('body').keypress(function(e) {
// Send date in case you want to order/buffer on the server
onkeypress(e.which, new Date());
});
var socketIoClient = io.connect(null, {
'port': '#socketIoPort#'
, 'rememberTransport': true
, 'transports': ['websocket', 'xhr-polling'] // put here all the transports you need
});
// Handle the key press events
socketIoClient.on('message', function(json) {
var act = JSON.parse(json);
if (act) {
// Not sure what the keys will do but if you just want to echo them
simulateKeyPress(act.key);
}
});
})(jQuery);
お役に立てれば
于 2012-08-23T19:21:31.237 に答える
0
もちろんできます!
- Websocketサーバーへの接続を開き、すべてのjQuery keyUp-Eventでリクエストを送信します!
- WebSocket側では、イベントスローを他のブラウザー接続に渡すだけです。
- 他のブラウザでは、KeyPressをシミュレートするだけです
simulateKeyPress(e);
于 2012-08-27T10:55:17.637 に答える