javascript - 在电子窗口之外获取选定的文本内容?
问题描述
我创建了一个隐藏并在后台运行的电子应用程序。我要实现的是当用户选择或突出显示文本并输入快捷键命令时,电子应用程序将获取突出显示的文本并将其发送到服务器。
这导致我有两个问题:
如何获得电子应用程序之外的选定文本?(目前我的实现方式是用户输入我配置的快捷键命令,这将获取剪贴板的内容,然后将其推送到服务器。)
是否可以覆盖“
Cmd+C
或Ctrl+C
”的全局快捷键并在快捷键命令中向服务器调用添加额外的帖子?(我试过搜索如何做到这一点,但没有找到答案)
这是我到目前为止所拥有的:
app.on('ready', () => {
globalShortcut.register('CommandOrControl+0', () => {
console.log('CommandOrControl+0 is pressed')
keyCommandPressed()
})
function keyCommandPressed () {
clipboardText = clipboard.readText([String])
/* Code to send server call... */
}
解决方案
您应该注册一个本地快捷方式:
const electronLocalshortcut = require('electron-localshortcut');
electronLocalshortcut.register(yourWindow, 'CmdOrCtrl+V', () => {
yourFunction()
});
之后,您必须使用剪贴板从剪贴板中读取文本:首先插入剪贴板
const {clipboard} = require('electron')
然后试试这个:
yourFunction()
{
console.log(clipboard.readText())
}
推荐阅读
- javascript - 根据选择的选项更改输入的值,但对于多个集合
- mysql - 使用参数作为查询输入时,Express Server、MySQL 查询中断
- javascript - 使用 ASP 提示
- javascript - 制作一个JS纸牌游戏
- python - GEKKO 和 Scipy.optimize 导致非线性参数估计的不同结果
- rust - 以编程方式调用断点
- javascript - Select2 Jquery 下拉列表
- r - 有没有办法为一个自变量的因变量列表创建多个回归输出?
- spring - FactoryBean 的 isSingleton 属性
- amazon-web-services - 将生命周期配置添加到 SageMaker 中的现有笔记本?