<input id="Input" type="text" value="" readonly/>
<a id="copyBtn">复制链接</a>
// 复制
$("#copyBtn").off('click').on('click',function(){
var link = document.getElementById("Input");
var userAgent = navigator.userAgent;
var isOpera = userAgent.indexOf("Opera") > -1;
if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
window.clipboardData.setData("Text", link.value);
// 判断是否复制成功,
// ie下在点复制按钮之后,有是否禁用剪贴板选项,选择禁用即为失败
if(window.clipboardData.setData("Text", link.value)){
alert('复制成功!');
}else{
alert('复制失败!');
}
} else {
link.select();
document.execCommand("Copy");
alert('复制成功!');
}
});
-
ps:刚刚遇到一个很崩溃的问题,为什么浮窗里的元素复制不上,但是别的地方就可以,布局没毛病,后来想到了可视元素的问题,复制页面上任何一个本来就有的input,可以复制,弹窗内的input是后来添加的,所以没获取到,因此,让一个input浮到可视区域之外就可以了,透明度设置为0,完美解决。
网友评论