javascript - 当我在 Electron 应用程序中双击打开文件时,Argv[1] 返回意外值

标签 javascript electron

我想通过双击打开一个文件。该文件正在使用 electron-packager 为 Mac App Store 构建。

我设置了一些东西,以便在双击文件时打开我的 Electron 应用程序,但是双击文件的文件名不会在命令行参数中传递给应用程序。

argv[0] 返回的数据是应用程序路径(正如预期的那样),argv[1] 返回的数据类似于 -psn_0_857362。我的印象是 argv[1] 将是所请求文件的路径,这正是我正在寻找的。

我正在使用的代码(在 main.js 中)的简化版本是:

ipcMain.on(
'getOpenFile',
function( e ) {

    let data = null;

    if ( process.argv.length >= 2 ) {
        data = process.argv[1];
    }

    e.returnValue = data;

}
);

为什么不显示路径?这在 Mac 应用商店中是不可能的,还是我需要做其他事情才能使其按预期工作?

最佳答案

在 macOS 上,您可能需要收听 app事件 open-file来自主进程:

app.on('open-file', (event, path) =>
{
    event.preventDefault();
    console.log(path);
});

关于javascript - 当我在 Electron 应用程序中双击打开文件时,Argv[1] 返回意外值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50935292/

相关文章:

javascript - 变量没有变化。错误在哪里?

javascript - 如何使用 JavaScript 从页面获取具有特定类的动态加载的 HTML 标签?

JavaScript 作用域问题

electron - 当我们将 “open with”文件发送到 Electron 应用程序时捕获文件

javascript - 与 Electron 生成器的文件关联

javascript - 动态切换 “autohideMenuBar”不起作用吗?

javascript - 为什么内容脚本中未定义 chrome.runtime?

javascript - 无法访问 Electron 渲染器进程中的某些 DOM 方法

electron - 如何使用 Electron 生成器将 Electron 应用发布到GitHub版本?

javascript - 如何创建卫星轨道并使用 SGP4 模型对其进行动画处理?