【问题标题】:How to fire keystrokes out of the browser onClick event?如何从浏览器的 onClick 事件中触发击键?
【发布时间】:2015-02-02 04:08:06
【问题描述】:

假设我们有一个简单的按钮:

 <button type="button" onclick="onClickHandler()">Click Me!</button>

你如何在:onClickHandler()

上执行以下操作
  1. 切换到不同的窗口,我能想到的一种方法是触发 ALT + TAB
  2. 再敲几下键。例如。在聊天中输入一些消息,然后按 ENTER。
  3. 通过触发另一个 ALT + TAB 切换回浏览器。

有可能吗?怎么样?

编辑,为我的问题添加更多详细信息/上下文:

我在这里想要实现的是在网页上制作一个方便的按钮,该按钮将根据模板自动生成消息,例如

“您好 ${name},我想以 ${price} 从您那里购买 ${item}”。

然后,此消息将在另一个活动的运行窗口中发送,然后输入该消息(如宏),然后发送!。发送后,窗口焦点应该还是浏览器。

【问题讨论】:

  • 为什么要使用点击处理程序来绑定按键事件?问题令人困惑,请详细说明预期行为
  • 这在firefox-addon中是可能的,它涉及js-ctypes,这将是依赖于操作系统的解决方案。
  • 等一下,您要切换到另一个浏览器窗口吗?还是另一个应用程序窗口?如果你想做另一个浏览器窗口,不需要 js-ctypes,你可以用 XPCOM 来做。这是回复:firefox-addon。
  • 切换到另一个应用程序。其实我找到了另一个解决方案,更新我的 OP。

标签: javascript jquery macros google-chrome-extension firefox-addon


【解决方案1】:

找到我的解决方案

而不是 javascript 做艰苦的工作。 Node.js 只会将生成的字符串放入剪贴板,然后触发按键。 AHK (http://ahkscript.org/) 将检测到此击键。然后 AHK 可以完成剩下的工作。

【讨论】:

  • 这很好,但理想情况下你希望你的扩展不依赖于其他软件。如果用户没有安装 AHK 怎么办?很好的解决方案感谢分享。
  • AHK 解决方案的效果如何?这是要进入firefox插件吗?我真的会避免使用 AHK 解决方案,要切换到另一个应用程序,我会使用可以与您分享的其他方法。
  • @Noitidart,感谢您的提议。它成功了(但没有我想要的那么好),但是对于复制到剪贴板 - 我求助于“弹出一个提示对话框并让用户执行 CTRL+C)。但无论如何这只是一个粉丝制作的工具(和开源)用于一个名为 Path of Exile 的游戏。只是为了分享,我在这里发布了 AHK 脚本:pathofexile.com/forum/view-thread/1164052
  • 我找不到脚本,我对如何从浏览器启动 AHK 脚本更感兴趣。那是很酷的东西。 :)
猜你喜欢
  • 1970-01-01
  • 2018-04-17
  • 2011-06-17
  • 2013-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多