我怎么能把输入传递到一个没有重点的网站

How could I pass input into a website without focus?

本文关键字:一个 网站 输入 怎么能      更新时间:2023-09-26

我正在考虑制作一个网站,当有人在玩电子游戏时,它最终会在后台(或在第二屏幕上)打开。我怎么能传递一个有界的键输入到网站,即使浏览器目前没有集中?我想避免java applet,但如果这是唯一的方法,我可以这样做。浏览器插件也可以工作,但我们的想法是避免任何用户安装,并使其尽可能简单。任何想法吗?

实现这一目标的一种方法是使用WebSockets(基本使用示例)。

websocket将提供浏览器和服务器之间的消息传递通道。因此,例如,你的游戏可以调用托管在你的服务器上的REST服务,触发一个消息发送到你的用户的浏览器连接的websocket。

基本步骤可能是这样的:

  • 用户1登录web页面,websocket连接服务器a。
  • 用户1启动游戏
  • 游戏发送http请求到服务器A的REST服务,让我们说像<server_address>/move/east
  • 服务器识别用户1的websocket,并向它发送'move east'命令
  • 用户1的浏览器在websocket上获取消息,并适当地更新页面

这不会让你的游戏陷入困境,但会让你在游戏和用户的浏览器会话之间有一种相对简洁的交流方式。我认为最难的部分可能是你使用什么标识符来绑定用户的游戏会话和用户的浏览器会话,但也许你已经有了某种登录机制来做到这一点。

这将不需要任何类型的插件或第三方扩展,因为现在大多数浏览器都相当好地支持websockets,但你必须编写一些服务器端代码。

我猜你只有在页面真正有焦点时才需要这些信息。

  • 您可以附加HTML文档的onactivate事件,然后执行AJAX调用。根据输出设置div或其他内容;
  • 使用Web Sockets在后台将内容从服务器发送到客户端。

您必须先将数据发送到服务器以使其工作