&引用;“复制”;Safari桌面Web共享API中缺少选项?
我正在尝试为一些我希望允许用户复制/共享的文本实现Web共享API,除了Safari desktop的一个问题外,它是成功的。我检查navigator.share,如果它存在,那么我只打开本机共享屏幕,如果它不存在,我就直接将文本复制到剪贴板(就像在桌面上一样) Safari desktop确实支持Web共享API,但是它似乎没有提供一种复制它的方法?你可以在截图中看到,它只是给了我一些选择。我错过什么了吗?难道没有办法选择“复制”吗&引用;“复制”;Safari桌面Web共享API中缺少选项?,safari,web-share,Safari,Web Share,我正在尝试为一些我希望允许用户复制/共享的文本实现Web共享API,除了Safari desktop的一个问题外,它是成功的。我检查navigator.share,如果它存在,那么我只打开本机共享屏幕,如果它不存在,我就直接将文本复制到剪贴板(就像在桌面上一样) Safari desktop确实支持Web共享API,但是它似乎没有提供一种复制它的方法?你可以在截图中看到,它只是给了我一些选择。我错过什么了吗?难道没有办法选择“复制”吗 const copyURL = copyText =>
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);
});
}
});
}
})
桌面Safari的共享表中确实没有“复制”功能。好消息是Safari支持,因此您可以轻松地将其用作替代方案,如下例所示:
异步函数copyPageUrl(){
试一试{
等待navigator.clipboard.writeText(location.href);
log(“复制到剪贴板的页面URL”);
}捕捉(错误){
console.error('复制失败:',错误);
}
}