由于地址访问的安全策略,不安全的http,不是https的地址在部署后,出现失效的问题,此时采用两种策略,分别对安全和不安全的采用两种粘贴方法,ts方法代码如下,此方法采用一篇博客所写
// TypeScrit
function copyToClipboard(textToCopy : string) {
// navigator clipboard 需要https等安全上下文
if (navigator.clipboard && window.isSecureContext) {
// navigator clipboard 向剪贴板写文本
return navigator.clipboard.writeText(textToCopy);
} else {
// 创建text area
let textArea = document.createElement("textarea");
textArea.value = textToCopy;
// 使text area不在viewport,同时设置不可见
textArea.style.position = "absolute";
textArea.style.opacity = '0';
textArea.style.left = "-999999px";
textArea.style.top = "-999999px";
document.body.appendChild(textArea);
textArea.focus();
textArea.select();
return new Promise((res, rej) => {
// 执行复制命令并移除文本框
document.execCommand('copy') ? res(null) : rej();
textArea.remove();
});
}
}