clipboard(剪贴板)

稳定版

操作系统剪贴板,设置或获取其内容

用法

你可以选择性地设置将要获取或设置的内容的格式. 支持一下格式:

  • text (纯文本)
  • html (HTML标记语言)
  • image (经过base-64编码过的png图片)

如果没有提供格式参数的话,剪贴板模块会自动检测。

现在在Windows操作系统下,"image"格式并不支持透明度。

示例

设置和获取剪贴板内容。

var clipboard = require("sdk/clipboard");
clipboard.set("Lorem ipsum dolor sit amet");
var contents = clipboard.get();

将剪贴板内容设置为某些html。

var clipboard = require("sdk/clipboard");
clipboard.set("<blink>Lorem ipsum dolor sit amet</blink>", "html");

如果剪贴板内容中包含有html,则将其在新标签页中打开。

var clipboard = require("sdk/clipboard");
if (clipboard.currentFlavors.indexOf("html") != -1)
  require("sdk/tabs").open("data:text/html;charset=utf-8," + clipboard.get("html"));

将剪贴板内容设置为一幅图片。

var clipboard = require("sdk/clipboard");
clipboard.set("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYA" +
              "AABzenr0AAAASUlEQVRYhe3O0QkAIAwD0eyqe3Q993AQ3cBSUKpygfsNTy" +
              "N5ugbQpK0BAADgP0BRDWXWlwEAAAAAgPsA3rzDaAAAAHgPcGrpgAnzQ2FG" +
              "bWRR9AAAAABJRU5ErkJggg%3D%3D");

如果剪贴板内容中包含图片,则将其在新标签页中打开。

var clipboard = require("sdk/clipboard");
if (clipboard.currentFlavors.indexOf("image") != -1)
  require("sdk/tabs").open(clipboard.get());

如前所述,图片的参数类型很容易被忽略,例如在网页中选中复制一张图片,得到的格式会是html而不是所预期的image。如果你是想将剪贴板的内容设置成像data URL这样的文本字符串而不是图片的话,可以通过将格式设置为text实现。

var clipboard = require("sdk/clipboard");
 
clipboard.set("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYA" +
              "AABzenr0AAAASUlEQVRYhe3O0QkAIAwD0eyqe3Q993AQ3cBSUKpygfsNTy" +
              "N5ugbQpK0BAADgP0BRDWXWlwEAAAAAgPsA3rzDaAAAAHgPcGrpgAnzQ2FG" +
              "bWRR9AAAAABJRU5ErkJggg%3D%3D", "text");

Globals

函数

set(data, datatype)

将用户剪贴板上的内容用data替换。

参数

data : string
要放入剪贴板的内容。

datatype : string
内容的格式 ,为"text"或"html" 或 "image"。可选参数.

get(datatype)

获取用户当前剪贴板的内容。

参数

datatype : string
只有当剪贴板中的内容格式为datatype指定的格式时才获取 (可选).。当剪贴板中的内容非所提供的datatype指定的格式时,函数回返回null。

属性

currentFlavors

剪贴板上的内容有时会是多种格式。例如,HTML内容即能匹配HTML格式(html),又能匹配纯文本格式(text)。这个属性为一个数组,数组中的元素是剪贴板内容所匹配的所有格式,如["text","html"]。

 

文档标签和贡献者

 此页面的贡献者: zaobao, ziyunfei, Wenshung
 最后编辑者: zaobao,