js 复制文本到粘贴板
2024-08-20 13:01:51
//html
在iOS Safari中,剪贴板API有一些限制(实际上是安全措施):
于安全原因,iOS Safari只允许容器中的document.execCommand('copy')文本contentEditable。
解决方法是检测iOS Safari,并contentEditable在执行之前快速切换document.execCommand('copy')。
它copy仅在有效的选择上触发事件,cut并且paste仅在专注的可编辑字段中触发事件。
它只支持操作系统剪贴板读/写通过快捷键,而不是通过document.execCommand()。
<div id="bar" contentEditable="false">文本文本</div>
<button id="copybtn" class="copycode">点击复制</button>
$('#copybtn').click(function () { var el = document.querySelector('#bar');
var range = document.createRange();
range.selectNodeContents(el); var selection = window.getSelection();
selection.removeAllRanges();
selection.addRange(range); document.execCommand('copy');
alert("复制成功")
}); function get_ios8() {
// 判断是否 iPhone 或者 iPod
if ((navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPod/i))) {
// 判断系统版本号是否大于3小于8
var version8 = Boolean(navigator.userAgent.match(/OS [3-8]_\d[_\d]* like Mac OS X/i));
if (version8) {
$('#copybtn').remove();
}
} else {
return false;
}
}
get_ios8();
ios8以下的系统,依然不支持 document.execCommand('copy');
安卓系统下没问题;
最新文章
- Xcode7下模拟器输入文本无法显示系统键盘的解决办法
- Fair Scheduler 队列设置经验总结
- WordPress的body_class()函数详解
- Xcode7
- 为什么V8引擎这么快?(转载)
- mmap和普通文件读写的区别和比较 &; mmap的注意点
- 白话spring依赖注入
- 这个HEAD FIRST系统不错哟
- js 解析 bytearray 成 字符串
- 一句话输出网站404页面,REFER及相关排序
- Flume配置
- Android项目--XML解析
- C#调用C++数据类型对照
- 大数据 - Teradata学习体会
- 自动化运维工具——ansible详解(一)
- 连接WiFi工具类
- Openstack oslo.config【一】
- Maven 打包项目 部署到服务器 重启服务 插件
- About certificate
- <;a>;之间怎么放值<;/a>; 挺简单的,第一次遇到&#183;&#183;&#183;