Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 退出时剪贴板已清除_Javascript_Node.js_Electron_Clipboard - Fatal编程技术网

Javascript 退出时剪贴板已清除

Javascript 退出时剪贴板已清除,javascript,node.js,electron,clipboard,Javascript,Node.js,Electron,Clipboard,我想在electron中创建一个应用程序,将一些数据添加到剪贴板,然后退出。我已经达到了完美地将数据添加到剪贴板的地步,我可以将其粘贴到任何地方 问题是,一旦应用程序退出,剪贴板就会被清除。 所以我想知道是否有办法解决这个问题,它是否与我的代码或操作系统级别的问题有关 简言之,这就是我所拥有的 const { app, clipboard } = require("electron"); app.on("window-all-closed", function() { if (proces

我想在electron中创建一个应用程序,将一些数据添加到剪贴板,然后退出。我已经达到了完美地将数据添加到剪贴板的地步,我可以将其粘贴到任何地方

问题是,一旦应用程序退出,剪贴板就会被清除。 所以我想知道是否有办法解决这个问题,它是否与我的代码或操作系统级别的问题有关

简言之,这就是我所拥有的

const { app, clipboard } = require("electron");

app.on("window-all-closed", function() {
  if (process.platform !== "darwin") {
    clipboard.writeText("abcd");
    app.quit();
  }
});

我在“窗口全部关闭”事件中设置了一个断点,但在应用程序退出时并没有看到它被触发。但是当我把
clipboard.writeText(“abcd”)放进去时导入
,它工作正常:

app.on('before-quit', (event) => {
  clipboard.writeText("abcd");
});
希望这会有所帮助

app.on('before-quit', (event) => {
  event.preventDefault();
  const clipboardy = require('clipboardy');
  clipboardy.writeSync('');
});

将clipboardy nodejs包导入到package.json中。

是否可能从未调用过写入剪贴板的函数?它被调用并且正在工作。如果我删除
app.quit()
调用,它将按预期工作(文本将复制到剪贴板)。。。应用程序不关闭的唯一缺点是:您确定在不删除app.quit()的情况下调用它吗?如果它是一个异步函数,它可能不会被调用,因为app.quit首先被调用。啊,我找不到任何文档说明它是异步的,而且它似乎没有回调函数。为了确保我延迟了对app.quit的调用,超时3秒,问题仍然存在。我承认,这不是最好的实验,但我不知道如何测试它似乎不是异步的,但如果它是异步的,它将不会被调用,直到
窗口结束时,所有关闭的
回调函数都被调用,所以该测试不会有任何帮助。我找不到任何引用在退出时清除剪贴板的内容或任何其他似乎表明它会这样做的内容…您是否尝试将其放入
“退出”
?是否有任何
preventDefault
触发器?@munHunger请删除
窗口中的剪贴板.writeText全部关闭
然后重试?