【发布时间】:2023-01-20 07:02:53
【问题描述】:
我正在开发一个 React(更具体地说是 Next.js)Web 应用程序,我想实现一个类似 Worldle 的共享功能。
它是这样工作的:当桌面用户点击一个按钮时,我想将一个字符串复制到剪贴板,当移动用户点击这个按钮时,我想打开一个本地共享屏幕,允许用户复制粘贴我的字符串到 WhatsApp 消息、电子邮件、Twitter 和其他社交应用程序中。
复制到桌面上的剪贴板很容易,我可以使用navigator.clipboard.writeText 实现。这似乎不适用于 Safari 和 Chrome 的移动版本,但也许我什至不需要它工作,相反,我需要以某种方式打开共享屏幕,但我似乎无法做到这一点。我试过使用以下点击处理程序:
const shareHandler = async () => {
if ("share" in navigator) {
await navigator.share({
title: "Share",
text: "Share this text",
})
} else {
alert("Share not supported by your browser")
}
}
在移动设备 (iPhone 13) 上点击我的按钮没有任何反应。请注意,我使用的是最新版本的 Chrome 和 Safari,所以这应该不是由过时的浏览器引起的。
关于如何使它正常工作的任何建议?
非常感谢!
【问题讨论】:
标签: javascript mobile sharing