野生动物园剪贴板错误"TypeError: undefined is not an object"



仅在 safari 浏览器中出现错误:

TypeError: undefined 不是对象(评估 'navigator.clipboard.writeText'(

我正在传递我当前的链接。可能是什么问题?

copyLink = e => {
e.preventDefault();
console.log(document.location.href)
navigator.clipboard
.writeText(document.location.href)
.then(() => {
this.setState({
urlIsCopied: true
});
})
.catch(e => console.error(e));
};

在(移动(Safari 中,此 API 存在安全限制,其中之一是它必须在受https保护的站点上执行,因此不适用于localhost,例如:

  • API 仅限于安全上下文,这意味着http://网站不存在navigator.clipboard
  • 写入剪贴板的请求必须在用户手势期间触发。调用用户手势范围之外的clipboard.writeclipboard.writeText(例如"click""touch"事件处理程序(将导致立即拒绝 API 调用返回的承诺。 [...]

你能看看插件copy-to-clipboard吗?只需使用以下代码即可。

copy('Text to Copy!');

希望这对您有所帮助!

相关内容

最新更新