剪贴板
Clipboard
是一个抽象的剪贴板 , 为Windows , Linux以及Mac系统中 .
概要
// 获取系统中剪贴板对象
var clipboard = nw.Clipboard.get();
// 剪贴板中读取信息
var text = clipboard.get('text');
console.log(text);
// 向剪贴板写入
clipboard.set('I love NW.js :)', 'text');
// 清空剪贴板
clipboard.clear();
Clipboard.get()
-
返回
{Clipboard}
剪贴板对象X11不支持选择剪贴板 .
clip.set(data, [type, [raw]])
data
{String}
写入剪贴板信息type
{String}
可选 支持text
,png
,jpeg
,html
以及rtf
, 分别代表文本 , png图片 , jpeg图片 , html以及富文本 . 默认类型为文本 .raw
{Boolean}
可选 需要原始图片数据 . 该参数只使用类型为png
和jpeg
. 默认值为false
.
将对应类型的数据写入剪贴板 . 该方法将清空剪贴板内容以及将data
内容写入剪贴板 . 再次调用该方法会将新data
内容替换到现有data
内容中 . 同时写入不同类型的数据信息 , 需要使用clip.set(clipboardDataList) .
剪贴板读写图片内容支持JPEG或PNG类型 . `raw`属性不设置或者为`false` , `data`参数为有效的Base64编译的[URI](https://developer.mozilla.org/en-US/docs/Web/HTTP/data_URIs) . `raw`属性设置为`true` , `data`参数为Base64编译的图片数据 . 不包括`data:<mime-type>;base64,`部分 .
clip.set(clipboardData)
clipboardData
{Object}
JSON对象 , 包括data
,type
以及raw
写入剪贴板 . 参考clip.set(data, [type, [raw]])参数格式描述 .
clip.set(clipboardDataList)
clipboardDataList
{Array}
clipboardData
JSON对象数组写入剪贴板 . 参考clip.set(clipboardData)和clip.set(data, [type, [raw]])参数格式描述 .
通过该方法将多种类型的数据写入剪贴板 .
例如: 写入类型为图片和<img>
标签内容到剪贴板
var fs = require('fs');
var path = require('path');
// 使用绝对路径以便其他应用能够使用
var pngPath = path.resolve('nw.png');
// 读取图片文件并通过base64进行编码
var data = fs.readFileSync(pngPath).toString('base64');
// 变换文件路径为URL
var html = '<img src="file:///' + encodeURI(data.replace(/^\//, '')) + '">';
var clip = nw.Clipboard.get();
// 将两种类型数据写入剪贴板
clip.set([
{type: 'png', data: data, raw: true},
{type: 'html', data: html}
]);
clip.get([type, [raw]])
type
{String}
可选 数据类型 . 支持text
,png
,jpeg
,html
andrtf
. 默认类型为"test"
.raw
{Boolean}
可选 需要原始图片数据 . 该参数只使用类型为png
和jpeg
.- Returns
{String}
返回剪贴板中数据 .
从剪贴变中获取指定类型数据 .
clip.get(clipboardData)
clipboardData
{Object}
JSON对象 , 包括type
,raw
读取剪贴板信息格式 . 参考clip.get([type, [raw]])参数格式描述 .- Returns
{String}
返回剪贴板中数据 .
clip.get(clipboardDataList)
clipboardDataList
{Array}
clipboardData
JSON对象数组读取剪贴板 . 该方法支持从剪贴板中读取多种类型数据 . 参考clip.get(clipboardData)和clip.get([type, [raw]])参数格式描述 .- Returns
{Array}
clipboardDataJSON对象数组读取剪贴板 . 每个元素内容包括
type,
data和
raw`参数.
clip.readAvailableTypes()
-
返回
{Array}
数组 , 数组内容为当前系统支持的剪贴板类型 . 每个元素格式如下:text
: 文本 . 可以使用clip.get('text')
读取信息 .html
: HTML文本 . 可以使用clip.get('html')
读取信息 .rtf
: 富文本 . 可以使用clip.get('rtf')
读取信息 .png
: PNG图片 . 可以使用clip.get('png')
读取信息 .jpeg
: JPEG图片 . 可以使用clip.get('jpeg')
读取信息 .
该方法中会返回可以使用的剪贴板类型 , 通过可用类型从剪贴板中获取对应类型内容 .
clip.clear()
清空剪贴板 .