【发布时间】:2017-09-22 05:46:25
【问题描述】:
我一直在尝试开发一种 POS 解决方案,而打开 Till Drawer 是迄今为止最困难的部分。
目前我正在尝试通过组合键来执行此操作。即CTRL+SHIFT+p。我需要做的是在调用某个函数时执行这些键。我已经构建了系统,并且功能已经准备好等待。
我正在使用自动热键将这些键映射到打开抽屉的 exe。如果我按下键盘上的键,这将非常好。但不是让用户按下这些键,我想自动执行它们。我已经搜索了很多,许多解决方案都在监听是否按下了一个键,然后做出相应的反应。
我发现让我稍微前进的当前代码如下(根据我的理解,这模拟了 CTRL+SHITF+p 的按下):
e = jQuery.Event("keypress")
e.which = 80; //choose the one you want
e.ctrlKey = true;
e.shiftKey = true;
$("#pos-paid").keypress(function(){alert('keypress triggered')}).trigger(e)
这确实提醒我该键已被按下。 Jquery 绝对不是我的强项,如果函数是废话,请见谅。
我正在使用 Chrome,并且了解需要考虑的安全问题。有人说这是不可能的,有人说这是可能的。
有人可以告诉我这是否可以实现,如果可以的话,有人可以指出我如何实现这一目标或一些类似问题/文档的正确方向吗?
备注 我目前已尝试创建扩展程序,但在访问本地文件时遇到问题。
我尝试创建一个与应用程序通信的扩展程序,但也遇到了问题。
我想避免任何需要联网的解决方案。
我拥有将访问该站点的客户端计算机,因此可以准备并添加任何必要的软件来实现此目的。
这是我对这个问题的另外两个问题。
【问题讨论】:
-
为什么必须按下键而不是触发键的事件?
-
你的意思是我为什么不让 Javascript 来打开收银台?如果是这样,问题是网页是外部的,而 exe 是内部的。因此我需要在客户端机器上执行 exe。
-
网页是“外部”但它可以向客户端发送击键?
-
@JustinPaulson 我听说 Chrome 沙箱会停止命令,所以我现在使用没有沙箱的 chrome,按下键时 exe 仍然没有启动,好吧,当上面的代码就是这样用的。
标签: javascript jquery