如何仅在电子应用程序中复制和粘贴突出显示的文本?

How to only copy and paste highlighted text in an electron app?

在我的电子应用程序中实施复制和粘贴时遇到很多问题。我做了一个复制和粘贴 window ui 但一直在寻找一种方法来实现复制和粘贴功能(只复制突出显示的文本)。我已经使用了 LONG 时间,并尝试使用电子本身的剪贴板 API 但这不会复制突出显示的文本只有您自己添加的文本。我还尝试制作一个按钮,它只会 运行 thr CTRL + C 命令,但我无法让它工作,所以任何帮助将不胜感激!

提前致谢!

如果您只想从自己的应用程序 window 中获取选定的文本,您可以像在任何运行于浏览器

this answer

function getSelectionText() {
    var text = "";
    if (window.getSelection) {
        text = window.getSelection().toString();
    } else if (document.selection && document.selection.type != "Control") {
        text = document.selection.createRange().text;
    }
    return text;
}

如果你想要上下文菜单(右键单击),你可以使用 Electron Menu APIs to build this context menu with a copy menu item or you can use an npm package that does this for you electron-context-menu

如果您想从任何应用程序中获取任何突出显示的文本,您可以使用合成 CTRL+C 单击然后从剪贴板中获取文本。我已经创建了一个 npm 包 electron-selected-text 来为你做这件事,它也保留了剪贴板中的旧文本