如何在使用前检测复制到剪贴板的功能

我试图在纯JS中创建一个复制函数,所以没有闪光。 我得到的问题是,当浏览器不支持复制到剪贴板时,我不想显示复制按钮。

我正在使用document.execCommand('copy')方法来复制到剪贴板,但对此的支持并不是最好的。 例如,safari具有execCommand功能,但不支持copy参数。 这意味着我不能简单地检查该函数是否存在。

由于这种狡猾的支持,我认为我将不得不采取浏览器检测的方式,就像github一样,我通过查看zeroclipboard问题时遇到了这种情况。 这是我发现的实现。

是否有正确的方法来检测用户代理? 我宁愿不使用NavigatorID.userAgent,因为它已根据MDN弃用。


我注意到,在版本10之前的Safari(在9.0和9.1中测试)下面的构造

document.execCommand('copy');

将返回false 。 这个事实可以用于在Safari中检查兼容性。

if (false == document.execCommand('copy')) {
    // Logic for handling the copy functionality in some other way
}
链接地址: http://www.djcxy.com/p/90775.html

上一篇: How to detect copy to clipboard functionality before using it

下一篇: Migrate JSF managed beans to CDI managed beans