如何在使用之前检测复制到剪贴板的功能
How to detect copy to clipboard functionality before using it
我正试图用纯JS创建一个复制函数,所以没有flash。我遇到的问题是,当浏览器不支持复制到剪贴板时,我不想显示复制按钮。
我使用document.execCommand('copy')
方法来复制到剪贴板,但对它的支持不是最好的。例如,safari具有execCommand函数,但不支持copy参数。这意味着我不能简单地检查函数是否存在。
由于这种不可靠的支持,我想我将不得不采用浏览器检测的方式,就像github在处理零剪贴板问题时遇到的那样。这是我发现的实现。
是否有正确的方法来检测用户代理?我宁愿不使用NavigatorID.userAgent,因为根据MDN,这是不推荐使用的。
我注意到,在Safari版本10之前(在9.0和9.1上测试)
document.execCommand('copy');
将返回CCD_ 2。此事实可用于检查Safari中的兼容性。
if (false == document.execCommand('copy')) {
// Logic for handling the copy functionality in some other way
}
相关文章:
- 零剪贴板复制文本后切换页面
- 复制到剪贴板在safari-angularjs中不起作用
- 使用javascript代码将HTML元素复制到剪贴板
- “复制到剪贴板”不起作用
- 使用jQuery/Javascript将忽略表头的表的内容复制到剪贴板
- javascript中的复制到剪贴板功能
- 将属性模型复制到剪贴板
- WinJs 复制到 Windows Phone 的剪贴板
- JavaScript 自动将文本复制到剪贴板
- 只能在第二次单击时将副本复制到剪贴板
- 复制到剪贴板是't工作
- c#在浏览器SharePoint中将文本框的内容复制到剪贴板
- 如何使用jquery将多个按钮ID复制到剪贴板
- 复制到剪贴板在firefox25中不起作用
- jQuery zClip 不会将值复制到剪贴板
- 为什么一个值没有在javascript中复制到剪贴板
- 如何在Webkit中将基于画布的图形复制到剪贴板
- 如何在使用之前检测复制到剪贴板的功能
- AppJs 键盘快捷键(复制、粘贴、剪贴板、退出、全选...
- 如何编辑此代码HTML/CSS以使'选择'JS代码也复制2剪贴板