推广 热搜: csgo  vue  angelababy  2023  gps  新车  htc  落地  app  p2p 

Electron 剪贴板实现示例详解

   2023-07-12 网络整理佚名2470
核心提示:剪贴板实现示例详解这篇文章主要为大家介绍了剪贴板实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪剪贴板模块中的常用方法:用于查看当前剪贴板内支持的数据格式。剪贴板内的数据一般都要经历两个环节:从剪贴板读取或向剪贴板写入纯文本数据:从剪贴板读取或向剪贴板写入图片格式数据:最简单,直接清空剪贴板内容:剪贴板的资料请关注脚本之家其它相关文章!

剪贴板实现示例详解

更新时间:2023年3月09日 14:19:15 作者:乔克利

本文主要介绍剪贴板实现示例的详细讲解。 有需要的朋友可以参考一下。 我希望它能有所帮助。 祝你进步很大,早日升职加薪

目录

文本

在浏览器中,可以通过脚本来读写剪贴板数据,常用的方法是:

// 复制数据
const inputElement = document.querySelector('#input')
inputElement.select()
document.execCommand('copy')
// 粘贴数据
const pasteText = document.querySelector('#output')
pasteText.focus()
document.execCommand('paste')

然而,这种方法有两个缺点:

后来浏览器厂商提出了异步API,但是有很多限制,比如:

在 中读写剪贴板非常容易,因为模块提供了很多调用系统剪贴板相关的API:

这些API既可以在主进程中调用,也可以在渲染进程中调用。

但需要注意的是,在渲染过程中(即.js脚本中),该模块必须在非沙箱环境中使用,而创建窗口时默认启用了沙箱模式,因此必须需要手动设置为false,否则会报错如下:

接下来我就讲解一下剪贴板模块中的常用方法:

用于查看当前剪贴板支持的数据格式。 剪贴板中的数据一般经过两个步骤:

假设用户复制样式文本,剪贴板将以 RTF 和纯文本格式存储数据。 粘贴时,目标窗口会自动选择最具有描述性的数据格式。 如果窗口识别 RTF,则将使用格式化数据。 ,否则使用文本数据,在这种情况下格式信息会丢失。

例如,如果我在网页上复制百度的标志,我将获得两种格式的数据:

如果此时调用该方法,会得到两个结果:

const formats = clipboard.availableFormats()
console.log(formats) // [ 'text/html', 'image/png' ]

应用程序还可以注册粘贴板格式( ),例如在其中复制一段代码,将会得到三种格式的数据:

最后一种是自定义的数据格式,可以通过调用来验证:

const formats = clipboard.availableFormats()
console.log(formats) // [ 'text/plain', 'text/html', 'vscode-editor-data' ]

可以看到,最后一项是--data是自定义的。

从剪贴板读取写入纯文本数据:

clipboard.writeText('写入文本')
const result = clipboard.readText()
console.log(result) // 写入文本

从剪贴板读取或写入 HTML 格式的数据:

clipboard.writeHTML('

红色

') const result = clipboard.readHTML() console.log(result) // ta charset='utf-8'>

红色

从剪贴板读取图像格式数据或将图像格式数据写入剪贴板:

clipboard.writeImage(nativeImage.createFromPath(path.join(__dirname, 'apple.png')))
const result = clipboard.readImage()
console.log(result)

从剪贴板读取或写入 RTF 格式的数据:

clipboard.writeRTF('{\rtf1\ansi{\fonttbl\f0\fswiss Helvetica;}\f0\pard\nThis is some {\b bold} text.\par\n}')
const result = clipboard.readRTF()
console.log(result)

清除

这个API最简单,直接清除剪贴板的内容:

clipboard.clear()

以上就是剪贴板实现示例的详细内容。 更多关于剪贴板的知识,请关注脚本之家其他相关文章!

 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报
Powered By DESTOON