粘贴复制

跨平台复制文本到剪贴板
本文介绍了一种在不同设备上(包括iOS、Android和PC)实现文本复制到剪贴板的方法。通过创建一个文本区域并选择其内容,然后调用execCommand('Copy')来完成复制操作。该方法在iOS和Android上表现良好,但在PC端可能需要额外的处理。

方法1:   

方法二:

方法三:

// 第三种 ios 设备和 android设备均正常,但是pc端没有
//定义函数
window.Clipboard = (function(window, document, navigator) {
var textArea,
copy;

// 判断是不是ios端
function isOS() {
return navigator.userAgent.match(/ipad|iphone/i);
}
//创建文本元素
function createTextArea(text) {
console.log(text,"text");
textArea = document.createElement('textArea');
console.log(textArea,"textArea");
textArea.innerHTML = text;
textArea.value = text;
console.log(textArea.value,"textArea.value");
document.body.appendChild(textArea);
}
//选择内容
function selectText() {
var range,
selection;
if (isOS()) {
range = document.createRange();
range.selectNodeContents(textArea);
selection = window.getSelection();
selection.removeAllRanges();
selection.addRange(range);
textArea.setSelectionRange(0, 999999);
} else {
textArea.select();
}
}

//复制到剪贴板
function copyToClipboard() {
try{
if(document.execCommand("Copy")){
Toast("复制成功!",1000);
}else{
Toast("复制失败!请手动复制!",1000);
}
}catch(err){
Toast("复制错误!请手动复制!",1000);
}
document.body.removeChild(textArea);
}

copy = function(text) {
createTextArea(text);
selectText(text);
copyToClipboard(text);
};

return {
copy: copy
};
})(window, document, navigator);

//使用函数
$("#copy").on("click",function(){
var val = $("#textAreas").val();
console.log("val",val)
Clipboard.copy(val);
});

方法四:

 

转载于:https://www.cnblogs.com/lf2019/p/10997666.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值