javascript - Electron如何实现文件拖入dock图标时打开应用

查看:88
本文介绍了javascript - Electron如何实现文件拖入dock图标时打开应用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

在做一个markdown编辑器,文件拖入dock图标时不能唤醒应用(atom可以)。
请问这种拖拽唤醒应用的功能如何实现?md文件右键打开方式中也无法选中该应用。
类似如下图中的vscode

解决方案

非常有意思的, 我根据你的问题翻了下 vscode 的源码, 结合了一些网上的资料, 实现了你要的效果.

主要解决思路是这个 issue 给的...

得到了这个实现需要 open-file 事件支持和 Info.plist 支持

通过查看 vscode 的 Info.plist 和苹果开发文档, 以及 electron-packager 的源码得到了实现方法...

主要是要在 electron-packager v8.2.0 加入了 修改 Info.plist 方法...

最后我都集成在了我的这个 electron-webpack 库里...

主要代码在这个 commit 里...

相关代码: electron-packager 的 config 加入

extendInfo: {
  CFBundleDocumentTypes: [
  {
    CFBundleTypeExtensions: ['dat']
  }]
}

意思就是支持 dat 文件后缀的拖拽功能...

入口文件添加响应 open-file 事件...

app.on('open-file', (e, path) =>
{
  dialog.showErrorBox('openFile', path);
});

大概就是这样, 有问题再交流...

以下是相关代码的地址:
https://github.com/llwslc/ele...

这篇关于javascript - Electron如何实现文件拖入dock图标时打开应用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆