1.兼容IE,chrome
之前写过一个案例,可以复制内容到粘贴板,但只支持IE和chrome
var copyText=$("#downloadContent").text();
if (window.clipboardData) {
window.clipboardData.clearData();
window.clipboardData.setData("Text", copyText);
}else{
var save = function (e){
e.clipboardData.setData('text/plain',copyText);//下面会说到clipboardData对象
e.preventDefault();//阻止默认行为
}
document.addEventListener('copy',save);
document.execCommand("copy");//使文档处于可编辑状态,否则无效
}
2.兼容IE,谷歌chrome,safari浏览器
为了兼容safari,发现最好是自动选中,然后执行复制命令,就写了下面的新案例,兼容IE,谷歌chrome,safari浏览器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
</style>
</head>
<body >
<div class="div1">
</div>
<div id="cardList">
<button class="btn" id='btn'>点击我,复制我</button>
<div id='copy'/> 哈哈 哈哈哈 哈哈 </div>
</div>
</body>
<script>
var btn = document.querySelector('#btn');
btn.addEventListener('click',function(){
let input = document.getElementById('copy');
const range = document.createRange();
range.selectNode(input);
const selection = window.getSelection();
if(selection.rangeCount > 0) selection.removeAllRanges();
selection.addRange(range);
document.execCommand('copy');
})
</script>
</html>