剪贴板项目:supports() 静态方法
ClipboardItem
接口的 supports()
静态方法,如果剪贴板支持给定的 MIME 类型,则返回 true
,否则返回 false
。
请注意,剪贴板 API 要求支持纯文本、HTML 和 PNG 文件。supports()
方法将始终针对这些 MIME 类型返回 true
,因此无需对它们进行测试。
语法
js
supports(type)
参数
返回值
如果剪贴板支持给定的 MIME 类型,则返回 true
,否则返回 false
。
示例
将图像写入剪贴板
以下示例将 SVG 图像获取到 blob,然后将其写入剪贴板。
我们使用 supports()
来检查剪贴板是否支持 "image/svg+xml"
MIME 类型,然后再获取图像并使用 clipboard.write()
将其写入。我们还将整个函数体包装在 try..catch
语句中,以捕获任何其他错误,例如 ClipboardItem
本身不受支持。
js
async function writeClipImg() {
try {
if (ClipboardItem.supports("image/svg+xml")) {
const imgURL = "/myimage.svg";
const data = await fetch(imgURL);
const blob = await data.blob();
await navigator.clipboard.write([
new ClipboardItem({
[blob.type]: blob,
}),
]);
console.log("Fetched image copied to clipboard.");
} else {
console.log("SVG image not supported by clipboard");
}
} catch (err) {
console.error(err.name, err.message);
}
}
规范
规范 |
---|
剪贴板 API 和事件 # dom-clipboarditem-supports |
浏览器兼容性
BCD 表仅在启用 JavaScript 的浏览器中加载。