【问题标题】:How to open file in NWJS or Electron app?如何在 NWJS 或 Electron 应用程序中打开文件?
【发布时间】:2017-02-19 20:45:42
【问题描述】:

假设有一个类似记事本的应用程序具有编辑功能。代码镜像库用于此目的。现在由于应用程序是 NWJS,所以我不知道如何直接在我的应用程序中打开任何文本文件。就像在其他本机应用程序中一样,我们可以在上下文菜单中选择选项,例如“使用崇高文本打开”。文件在文本编辑器中打开。我怎么能在 nwjs 应用程序中做到这一点?有任何模块吗?请帮我 。谢谢

【问题讨论】:

  • 那你用的是哪一个,NW.js 还是 Electron?
  • 我主要使用 NW.js 但也可以使用电子!有没有办法为电子或 NW.js 做到这一点?如果是,那我该怎么做?请告诉我谢谢!
  • 我认为您必须为您的应用程序制作一个安装程序来调整上下文菜单。它与 nw 或电子无关。
  • 我认为这与安装程序无关。它与上下文菜单无关。它是关于在应该打开的应用程序中打开文件/图像,就像本机应用程序一样。
  • 例如,如果我在图像编辑器中打开图像,例如“在 Photoshop 中打开图像”..图像会在 Photoshop 中打开! ut 如果我对 Nw.js 应用程序做同样的事情,它会像我们在任何浏览器中打开图像一样打开!

标签: javascript node.js npm electron nwjs


【解决方案1】:

您所说的上下文菜单条目是由操作系统根据注册用于处理特定文件类型的应用程序创建的。 Electron 不提供 API 来将应用注册为文件类型的处理程序,在 Windows 上,您需要按照MSDN 中的说明编辑 Windows 注册表。

【讨论】:

  • 所以不可能从上下文菜单打开文件/图像到我们的应用程序中?但是有著名的基于节点的编译器,例如原子或括号,它们允许从上下文菜单打开文件。而不是他们是怎么做到的?
  • 我刚刚解释了这一点,您需要注册您的应用程序来处理您希望它打开的文件类型,然后您将在上下文菜单中获得一个“使用 MyApp 打开”条目,当您单击该条目时操作系统将启动您的应用并传入文件名(在 Windows 上,文件名将通过process.argv 提供,在 macOS 上通过open-file 事件提供)。
  • 好的,我明白了!但是我或用户必须手动添加注册表..但是在本机和其他节点应用程序中,我们不需要这样做...如何?
  • 这正是原生 Windows 应用程序必须做的事情,有时安装程序会修改 Windows 注册表,有时是应用程序本身。您可以使用node-ffi 或编写本机 Node 插件/模块来允许您的 Electron 应用程序执行此操作。在 macOS 上,在发货前向 app .plist 添加一些条目就足够了。
猜你喜欢
  • 1970-01-01
  • 2017-10-14
  • 2020-10-27
  • 2020-11-30
  • 2020-10-06
  • 1970-01-01
  • 2016-11-19
  • 1970-01-01
  • 2019-01-27
相关资源
最近更新 更多