我有一个网站,允许用户将信息复制到剪贴板上,以使工作的其他部分变得更容易。我的问题是FireFox不允许异步复制到剪贴板功能。我需要异步功能,因为屏幕上显示的数据不一定是要复制的数据(根据客户端的要求)。因此,我前往服务器以建立适当的信息并将其带回客户端。在Chrome和IE中都可以使用。
以下两者在FireFox中始终会失败
document.execCommand("copy")
或
navigator.clipboard.writeText(text)
我也尝试查询权限,但是它告诉我权限名称无法识别:
要么:
navigator.permissions.query({name:'clipboardWrite'})
或者:
navigator.permissions.query({name:'clipboard-write'})
我知道扩展程序/附加组件具有可以公开和访问的附加功能,但这对我来说不是一个选择。
是否有任何方法允许网站以本地方式请求访问FireFox中的异步剪贴板功能?
答案 0 :(得分:1)
Firefox仅在由用户交互启动时才能运行剪贴板命令。问题很可能在那里。
您可以在MDN的兼容性图表中查看有关此内容的更多信息:https://developer.mozilla.org/en-US/docs/Web/API/Clipboard/writeText
我强烈建议您使用可以避免浏览器不一致的库。 ClipboardJS是最受欢迎的https://clipboardjs.com。