介绍
Copy 指令采用 useClipboard 实现,用于复制内容到剪贴板
⚠️ 注意
剪贴板 API 兼容性
- 剪贴板 API(如
navigator.clipboard)在部分浏览器中只有在HTTPS或localhost下才可用。 - 如果你部署到服务器后用
HTTP访问,很多现代浏览器会禁用剪贴板 API,导致isSupported.value为false
解决建议
- 确保使用
HTTPS访问 :将你的站点配置为HTTPS,绝大多数浏览器只在HTTPS下开放剪贴板 API。 - 检查浏览器兼容性 :确保你用的浏览器版本支持剪贴板 API。可以在 MDN 文档 查看兼容性。
- 本地开发和生产环境差异 :本地开发通常是
localhost,浏览器会放宽安全限制;生产环境如果不是HTTPS,API 就不可用。
临时方案
- 如果暂时无法上
HTTPS,可以考虑降级使用document.execCommand('copy')作为兼容方案,但该方法已被废弃且未来可能无法使用
示例
vue
<template>
<div v-copy="msg">点击复制</div>
</template>
<script lang="ts" setup>
const msg = `Too many of us are not living our dreams because we are living our fears.`;
</script>
nuyoah