我计划用electron实现一个音乐播放器.它将列出用户硬盘上的音乐.
是否可以定义拖放行为,以便我可以拖动一个html元素,例如< span>艺术家 – 标题< / span>在电子窗口外面进入用户桌面复制实际文件?
文件存储在这里:〜/ music / Artist-Title.mp3.
当拖动从我的电子窗口到桌面的跨度时,应该制作一个副本:〜/ Desktop / Artist-Title.mp3.
解决方法:
工作范例:
放入main.js并复制拖动时显示的图标(yourAppDir / img / icon / folder.png):
const {ipcMain} = require('electron')
ipcMain.on('ondragstart', (event, filePath) => {
event.sender.startDrag({
file: filePath,
icon: 'img/icon/folder.png'
})
})
放入renderer.js,并设置要删除的文件的路径:
var ipcRenderer = require('electron').ipcRenderer
document.getElementById('drag').ondragstart = (event) => {
event.preventDefault()
ipcRenderer.send('ondragstart', '/Users/tim/dev/test/elektron-drag-out-test/img/icon/folder.png')
}
在index.html的body标签内创建可拖动元素:
...
<body>
...
<a href="#" id="drag" class="draggable">drag item</a>
</body>
...
我还创建了一个gist用于拖入/拖出.
另一个有用的资源:Electron – Add webContents.startDrag(item)
API
原文地址:https://codeday.me/bug/20190824/1703135.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。