剪贴板

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写入剪贴板

  • data String - 要写入剪贴板的数据
  • type String - (可选) 数据类型,可选 text, png, jpeg, htmlrtf,默认类型为 "text".
  • raw Boolean - (可选) 是否需要原始图片数据. 此选项仅在类型为 pngjpeg有效. 默认为 false.

该方法将清空剪贴板内容以及将 data内容写入剪贴板 . 再次调用该方法会将新 data内容替换到现 有 data内容中 .

如需同时写入多种类型的数据到剪贴板,请使用 clip.set(clipboardDataList).

【注意】 ,读取或写入的图像仅为 JPEGPNG.

当未设置 raw或设为 false时, data参数为有效的Base64编译的 URI.

当设置 raw设为 true时, data参数为Base64编译的图片数并且不含 data:<mime-type> ;base64,部分 .

clip.set(clipboardData)

用途: 将剪贴板数据的JSON对象 clipboardData写入剪贴板

clip.set(clipboardDataList)

用途: 批量将剪贴板数据的JSON对象组成的数组 clipboardData写入剪贴板

可以使用此方法同时将多种类型的数据写入剪贴板. 例如: 将图像和指向图像的 <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)

  • type String - (可选) 数据的类型,可选 text, png, jpeg, html and rtf. 默认为 "text".
  • raw Boolean - (可选) 是否需要原始图片数据. 此选项仅在类型为 pngjpeg有效. 默认为 false.

clip.get(clipboardData)

用途: 从剪贴板获取内含 data, typeraw的JSON对象的数据( clipboardData)

  • clipboardData Object - 从剪贴板中读取的内含 data, typeraw的JSON对象. 详情请参阅 clip.get([type, [raw]])章节
  • 返回 String - 返回剪贴板中数据 .

clip.get(clipboardDataList)

用途: 从剪贴板获取多个内含 data, typeraw的JSON对象组成的数组数据( Array)

  • clipboardDataList Array - 从剪贴板中读取的多个内含 data, typeraw的JSON对象组成的数组数据. 详情请参阅 clip.get(clipboardData)clip.get([type, [raw]])章节
  • 返回 Array - 从剪贴板读取的 clipboardData数组, . 每个元素内容包括 type, dataraw(可选)参数.

可以使用此方法同时从剪贴板读取多种类型的数据.

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()

用途: 清空剪贴板