gpt4 book ai didi

javascript - 如何限制 Electron 应用程序的复制到一定的字长?

转载 作者:行者123 更新时间:2023-12-03 02:17:44 25 4
gpt4 key购买 nike

我有一个 Electron 应用程序,其中包含一些我想防止被复制的数据。我知道不可能有 100% 的安全,但用户不会是技术人员,所以一个简单的解决方案就可以做到这一点。

我已经做了什么:- 禁用通过 CSS 选择。 用户选择:无;

这里的问题:即使选择不可见,仍然可以复制所有内容。

通过 CTRL/CMD+C 清除剪贴板:

globalShortcut.register('CommandOrControl+C', () => {
clipboard.clear();
});

这里的问题:处理程序似乎确实是全局的,运行它并尝试在 VisualCode 中复制/粘贴我很有趣;)如果仅在一个应用程序中拥有它,那就太酷了。

另外:仍然允许复制短字符串会很酷。如果有人知道如何访问,例如globalShortcut* 中的当前选择,我可以将其 chop 为 300 个字符到剪贴板。

*窗口未定义

最佳答案

我放弃了整个全局/本地快捷方式并利用了复制事件。到目前为止似乎工作正常。

['copy', 'cut'].forEach((eventName) => {
document.addEventListener(eventName, (e) => {
const selection = window.getSelection().toString();
const truncatedSelection = selection.slice(0, 300);

if (selection.length > 299) {
alert('Selection to huge. Please select less.');
}

e.clipboardData.setData('text/plain', truncatedSelection);
e.clipboardData.setData('text/html', truncatedSelection);
e.preventDefault();
});
});

关于javascript - 如何限制 Electron 应用程序的复制到一定的字长?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49294316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com