剪贴板 API Clipboard 读写操作详解
如何使用 navigator.clipboard 进行剪贴板的读写?与 document.execCommand('copy') 相比有何优势?读写图片、HTML 格式内容如何处理?权限要求是什么?
回答
苦行僧
navigator.clipboard.writeText(text) 写文本,readText() 读文本。读写任意格式: write([new ClipboardItem({'text/html': blob})]) 和 read()。写图片: write([new ClipboardItem({'image/png': blob})])。read() 返回 ClipboardItems 数组,可通过 item.types 判断类型。优势:异步 API 不阻塞 UI;支持任意 MIME 类型;基于 Promise。权限:Clipboard API 要求 Secure Context。写操作需要 clipboard-write 权限,读操作需 clipboard-read 权限。注意:Chrome 中 read() 需用户手势触发。execCommand('copy') 已被标记废弃。