剪贴板
Clipboard是Windows, Linux 和 Mac系统中的常用操作.
示例
//获取系统剪贴板
var clipboard = nw.Clipboard.get();
//从剪贴板中读取
var text = clipboard.get('text');
console.log(text);
//或写点东西到剪贴板
clipboard.set('我在使用NW.js :)', 'text');
// 或者清空剪贴板
clipboard.clear();Clipboard.get()
用途:获取剪贴板对象
Clipboard
请注意,X11不支持选择剪贴板 .
clip.set(data, [type, [raw]])
用途:将对应类型的数据
data写入剪贴板
dataString - 要写入剪贴板的数据typeString - (可选) 数据类型,可选text,png,jpeg,html和rtf,默认类型为"text".rawBoolean - (可选) 是否需要原始图片数据. 此选项仅在类型为png或jpeg有效. 默认为false.
该方法将清空剪贴板内容以及将 data内容写入剪贴板 . 再次调用该方法会将新 data内容替换到现 有data内容中 .
如需同时写入多种类型的数据到剪贴板,请使用clip.set(clipboardDataList).
请注意,读取或写入的图像仅为 JPEG或 PNG.
当未设置 raw或设为 false时, data参数为有效的Base64编译的URI.
当设置 raw设为 true时,data参数为Base64编译的图片数并且不含 data:<mime-type> ;base64,部分 .
clip.set(clipboardData)
用途:将剪贴板数据的JSON对象
clipboardData写入剪贴板
clipboardDataObject - 要写入剪贴板的内含data,type和raw的JSON对象. 详情请参阅 clip.set(data, [type, [raw]])章节
clip.set(clipboardDataList)
用途:批量将剪贴板数据的JSON对象组成的数组
clipboardData写入剪贴板
clipboardDataListArray - 要写入剪贴板的多个内含data,type和raw的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();
// 将PNG和HTML写入剪贴板
clip.set([
{type: 'png', data: data, raw: true},
{type: 'html', data: html}
]);clip.get([type, [raw]])
用途:从剪贴板获取指定类型
type的数据(String)
typeString - (可选) 数据的类型,可选text,png,jpeg,htmlandrtf. 默认为"text".rawBoolean - (可选) 是否需要原始图片数据. 此选项仅在类型为png或jpeg有效. 默认为false.
clip.get(clipboardData)
用途:从剪贴板获取内含
data,type和raw的JSON对象的数据(clipboardData)
clipboardDataObject - 从剪贴板中读取的内含data,type和raw的JSON对象. 详情请参阅 clip.get([type, [raw]])章节- 返回 String - 返回剪贴板中数据 .
clip.get(clipboardDataList)
用途:从剪贴板获取多个内含
data,type和raw的JSON对象组成的数组数据(Array)
clipboardDataListArray - 从剪贴板中读取的多个内含data,type和raw的JSON对象组成的数组数据. 详情请参阅 clip.get(clipboardData) 和 clip.get([type, [raw]])章节- 返回 Array - 从剪贴板读取的
clipboardData数组, . 每个元素内容包括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()
用途:清空剪贴板