开发环境下使用navigator.clipboard进行复制操作,打包部署到服务器上后,发现该功能显示为undefined;查相关资料后,发现clipboard只有在安全域名下才可以访问(https、localhost),在http域名下只能得到undefined;
解决方案如下:
let clipboard = navigator.clipboard || {writeText: (text) => {let copyInput = document.createElement('input');copyInput.value = text;document.body.appendChild(copyInput);copyInput.select();document.execCommand('copy');document.body.removeChild(copyInput);}}if (clipboard) {await clipboard.writeText(this.formData.url);this.$message.success('复制成功');}