【发布时间】:2020-08-18 09:47:13
【问题描述】:
我正在尝试为一些我希望允许用户复制/共享的文本实现 Web 共享 API,并且它已经成功,除了 Safari 桌面的问题。我检查navigator.share,如果存在,那么我只打开本机共享屏幕,如果不存在,我只需将文本直接复制到剪贴板(就像在桌面上一样)。
Safari 桌面确实支持 Web Share API,但它似乎没有提供一种方法来复制它?您可以在屏幕截图中看到它只是为我提供了一些选项。我错过了什么吗?有没有办法让“复制”作为选项?
const copyURL = copyText => {
if (navigator.share) {
navigator
.share({ text: copyText })
.then(() => {})
.catch(console.error);
} else {
navigator.permissions.query({ name: 'clipboard-write' }).then(result => {
if (result.state === 'granted' || result.state === 'prompt') {
navigator.clipboard.writeText(copyText).then(() => {
setLinkCopied(true);
});
}
});
}
};
【问题讨论】: