clipboard
在系统剪贴板上执行复制和粘贴操作。
🌐 Process: Main, Renderer Deprecated (non-sandboxed only)
在渲染进程中使用 clipboard API 已不推荐使用。
如果你想从渲染进程调用此 API,
请将 API 调用放在你的预加载脚本中,并使用 contextBridge API 暴露 它。
在 Linux 上,还有一个 selection 剪贴板。要操作它,你需要将 selection 传递给每个方法:
🌐 On Linux, there is also a selection clipboard. To manipulate it
you need to pass selection to each method:
const { clipboard } = require('electron')
clipboard.writeText('Example string', 'selection')
console.log(clipboard.readText('selection'))
方法
🌐 Methods
clipboard 模块具有以下方法:
🌐 The clipboard module has the following methods:
实验性 API 已被标记为实验性,并且未来可能会被移除。
clipboard.readText([type])
type字符串(可选)- 可以是selection或clipboard;默认值为 'clipboard'。selection仅在 Linux 上可用。
返回 string - 剪贴板中的内容,作为纯文本。
🌐 Returns string - The content in the clipboard as plain text.
const { clipboard } = require('electron')
clipboard.writeText('hello i am a bit of text!')
const text = clipboard.readText()
console.log(text)
// hello i am a bit of text!'
clipboard.writeText(text[, type])
text字符串type字符串(可选)- 可以是selection或clipboard;默认值为 'clipboard'。selection仅在 Linux 上可用。
将 text 以纯文本形式写入剪贴板。
🌐 Writes the text into the clipboard as plain text.
const { clipboard } = require('electron')
const text = 'hello i am a bit of text!'
clipboard.writeText(text)
clipboard.readHTML([type])
type字符串(可选)- 可以是selection或clipboard;默认值为 'clipboard'。selection仅在 Linux 上可用。
返回 string - 剪贴板中的内容作为标记。
🌐 Returns string - The content in the clipboard as markup.
const { clipboard } = require('electron')
clipboard.writeHTML('<b>Hi</b>')
const html = clipboard.readHTML()
console.log(html)
// <meta charset='utf-8'><b>Hi</b>
clipboard.writeHTML(markup[, type])
markup字符串type字符串(可选)- 可以是selection或clipboard;默认值为 'clipboard'。selection仅在 Linux 上可用。
将 markup 写入剪贴板。
🌐 Writes markup to the clipboard.
const { clipboard } = require('electron')
clipboard.writeHTML('<b>Hi</b>')
clipboard.readImage([type])
type字符串(可选)- 可以是selection或clipboard;默认值为 'clipboard'。selection仅在 Linux 上可用。
返回 NativeImage - 剪贴板中的图片内容。
🌐 Returns NativeImage - The image content in the clipboard.
clipboard.writeImage(image[, type])
image本地图片type字符串(可选)- 可以是selection或clipboard;默认值为 'clipboard'。selection仅在 Linux 上可用。
将 image 写入剪贴板。
🌐 Writes image to the clipboard.
clipboard.readRTF([type])
type字符串(可选)- 可以是selection或clipboard;默认值为 'clipboard'。selection仅在 Linux 上可用。
返回 string - 剪贴板中的内容,格式为 RTF。
🌐 Returns string - The content in the clipboard as RTF.
const { clipboard } = require('electron')
clipboard.writeRTF('{\\rtf1\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\\f0\\pard\nThis is some {\\b bold} text.\\par\n}')
const rtf = clipboard.readRTF()
console.log(rtf)
// {\\rtf1\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\\f0\\pard\nThis is some {\\b bold} text.\\par\n}
clipboard.writeRTF(text[, type])
text字符串type字符串(可选)- 可以是selection或clipboard;默认值为 'clipboard'。selection仅在 Linux 上可用。
将 text 以 RTF 格式写入剪贴板。
🌐 Writes the text into the clipboard in RTF.
const { clipboard } = require('electron')
const rtf = '{\\rtf1\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\\f0\\pard\nThis is some {\\b bold} text.\\par\n}'
clipboard.writeRTF(rtf)
clipboard.readBookmark() macOS Windows
返回 Object:
🌐 Returns Object:
title字符串url字符串
返回一个包含 title 和 url 键的对象,表示剪贴板中的书签。当书签不可用时,title 和 url 的值将为空字符串。title 的值在 Windows 上始终为空。
🌐 Returns an Object containing title and url keys representing the bookmark in
the clipboard. The title and url values will be empty strings when the
bookmark is unavailable. The title value will always be empty on Windows.
clipboard.writeBookmark(title, url[, type]) macOS Windows
title字符串 - 在 Windows 上未使用url字符串type字符串(可选)- 可以是selection或clipboard;默认值为 'clipboard'。selection仅在 Linux 上可用。
将 title(仅限 macOS)和 url 作为书签到剪贴板中。
🌐 Writes the title (macOS only) and url into the clipboard as a bookmark.
大多数 Windows 应用不支持将书签粘贴到其中,因此你可以使用 clipboard.write 将书签和备用文本一起写入剪贴板。
const { clipboard } = require('electron')
clipboard.writeBookmark('Electron Homepage', 'https://electron.nodejs.cn')
clipboard.readFindText() macOS
返回 string - 查找剪贴板上的文本,该剪贴板保存有关当前活动应用查找面板状态的信息。
🌐 Returns string - The text on the find pasteboard, which is the pasteboard that holds information about the current state of the active application’s find panel.
当从渲染器进程调用时,该方法使用同步 IPC。每当应用被激活时,都会从查找剪贴板重新读取缓存值。
🌐 This method uses synchronous IPC when called from the renderer process. The cached value is reread from the find pasteboard whenever the application is activated.
clipboard.writeFindText(text) macOS
text字符串
将 text 以纯文本形式写入查找剪贴板(存储活动应用查找面板当前状态信息的剪贴板)。当从渲染进程调用此方法时,会使用同步 IPC。
🌐 Writes the text into the find pasteboard (the pasteboard that holds information about the current state of the active application’s find panel) as plain text. This method uses synchronous IPC when called from the renderer process.
clipboard.clear([type])
type字符串(可选)- 可以是selection或clipboard;默认值为 'clipboard'。selection仅在 Linux 上可用。
清除剪贴板内容。
🌐 Clears the clipboard content.
clipboard.availableFormats([type])
type字符串(可选)- 可以是selection或clipboard;默认值为 'clipboard'。selection仅在 Linux 上可用。
返回 string[] - 剪贴板 type 支持的格式数组。
🌐 Returns string[] - An array of supported formats for the clipboard type.
const { clipboard } = require('electron')
const formats = clipboard.availableFormats()
console.log(formats)
// [ 'text/plain', 'text/html' ]
clipboard.has(format[, type]) 实验性
🌐 clipboard.has(format[, type]) Experimental
format字符串type字符串(可选)- 可以是selection或clipboard;默认值为 'clipboard'。selection仅在 Linux 上可用。
返回 boolean - 剪贴板是否支持指定的 format。
🌐 Returns boolean - Whether the clipboard supports the specified format.
const { clipboard } = require('electron')
const hasFormat = clipboard.has('public/utf8-plain-text')
console.log(hasFormat)
// 'true' or 'false'
clipboard.read(format) 实验性
🌐 clipboard.read(format) Experimental
format字符串
返回 string - 从剪贴板读取 format 类型。
🌐 Returns string - Reads format type from the clipboard.
format 应包含有效的 ASCII 字符,并且有 / 分隔符。
a/c、a/bc 是有效格式,而 /abc、abc/、a/、/a、a 不是有效格式。
clipboard.readBuffer(format) 实验性
🌐 clipboard.readBuffer(format) Experimental
format字符串
返回 Buffer - 从剪贴板读取 format 类型。
🌐 Returns Buffer - Reads format type from the clipboard.
const { clipboard } = require('electron')
const buffer = Buffer.from('this is binary', 'utf8')
clipboard.writeBuffer('public/utf8-plain-text', buffer)
const ret = clipboard.readBuffer('public/utf8-plain-text')
console.log(buffer.equals(ret))
// true
clipboard.writeBuffer(format, buffer[, type]) 实验性
🌐 clipboard.writeBuffer(format, buffer[, type]) Experimental
format字符串buffer缓冲区type字符串(可选)- 可以是selection或clipboard;默认值为 'clipboard'。selection仅在 Linux 上可用。
将 buffer 写入剪贴板作为 format。
🌐 Writes the buffer into the clipboard as format.
const { clipboard } = require('electron')
const buffer = Buffer.from('writeBuffer', 'utf8')
clipboard.writeBuffer('public/utf8-plain-text', buffer)
clipboard.write(data[, type])
data对象text字符串(可选)html字符串(可选)image本地图片(可选)rtf字符串(可选)bookmark字符串(可选)-text的 URL 标题。
type字符串(可选)- 可以是selection或clipboard;默认值为 'clipboard'。selection仅在 Linux 上可用。
将 data 写入剪贴板。
🌐 Writes data to the clipboard.
const { clipboard } = require('electron')
clipboard.write({
text: 'test',
html: '<b>Hi</b>',
rtf: '{\\rtf1\\utf8 text}',
bookmark: 'a title'
})
console.log(clipboard.readText())
// 'test'
console.log(clipboard.readHTML())
// <meta charset='utf-8'><b>Hi</b>
console.log(clipboard.readRTF())
// '{\\rtf1\\utf8 text}'
console.log(clipboard.readBookmark())
// { title: 'a title', url: 'test' }