浏览器和手机的复制

以下代码可以实现 , 传入文本即可,兼容 安卓 和 IOS ;

原理是 :先添加节点 ,然后选择对象,执行复制,而 ios  要先执行选中操作 再复制,复制完后要移除选中  ,然后删除节点

function copyText(text){
	    	var Url2 = text || '没复制上';
		   	if (navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) {//区分iPhone设备  
		    	var span = document.createElement('span');
			        span.innerHTML = Url2;
			        //span.style.display='none';
			        span.id='copyTextSpan';
			        document.body.appendChild(span);
			    	window.getSelection().removeAllRanges();//这段代码必须放在前面否则无效  
			        var range = document.createRange();  
			        // 选中需要复制的节点  
			        range.selectNode(span);  
			        // 执行选中元素  
			        window.getSelection().addRange(range);  
			        // 执行 copy 操作  
			        var successful = document.execCommand('copy');  

			        // 移除选中的元素  
			        window.getSelection().removeAllRanges(); 
			        span.parentNode.removeChild(span);
				    this.msg('复制成功');
		    }else{
		    	var oInput = document.createElement('input');
		        oInput.value = Url2;
		        document.body.appendChild(oInput);
		        oInput.select(); // 选择对象
		        document.execCommand("Copy"); // 执行浏览器复制命令
		        oInput.className = 'oInput';
		        oInput.style.display='none';
		        oInput.parentNode.removeChild(oInput);
		        this.msg('复制成功');
		    }
		    
		}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值