稳定版
操作系统剪贴板,设置或获取其内容
用法
你可以选择性地设置将要获取或设置的内容的格式. 支持一下格式:
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"]。