欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 锐评 > JS Clipboard API

JS Clipboard API

2025/2/25 0:40:28 来源:https://blog.csdn.net/qq_46032105/article/details/131145850  浏览:    关键词:JS Clipboard API

1.作用

  1. 在web应用程序中,当用户授予了相应的权限,Clipboard API 就能实现系统剪切板的复制、粘贴和剪切功能。
  2. 系统剪切板暴露在Navigator.clipboard 中。

2.例子

window.onload = () => {// 监听用户的复制事件document.addEventListener('copy', (e) => {// 阻止浏览器的默认复制行为 e.preventDefault()// 把复制的内容放到系统的剪切板中  // navigator.clipboard.writeText 的返回值是一个Promisenavigator.clipboard.writeText(e.target.innerText).then(() => {console.log('复制成功!');}).catch(() => {console.log('复制失败!');})})// 监听用户的粘贴document.addEventListener('paste', (e) => {// 验证输入const clipboardData = e.clipboardData;if (!clipboardData) {console.error('无效的输入。');return;}// 判断粘贴的是图片还是文本const files = clipboardData.files;if (files.length > 0) { // 图片e.preventDefault();const file = files[0];// 读取文件数据 转为base64字符串const reader = new FileReader();reader.onload = (event) => {// base64字符串 const data = event.target.result;let image = document.createElement('img')image.src = datadocument.querySelector('.editor').appendChild(image)};reader.onerror = (event) => {console.error('读取文件时出错。');};reader.readAsDataURL(file);} else { // 文本navigator.clipboard.readText().then((text) => {let divDom = document.createElement('div')divDom.innerHTML = text;document.querySelector('.editor').appendChild(divDom)console.log('粘贴成功!');}).catch((error) => {console.error('粘贴失败:', error);});}});
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词