1. 程式人生 > >ios實現點選複製文字到剪貼簿

ios實現點選複製文字到剪貼簿

移動端點選複製文字到剪貼簿:

html程式碼:

<span id="data">複製我到剪貼簿</span>
<button class="button" type="button" id="button">點選複製</button>

複製文字的程式碼需要放在點選事件中

js程式碼:

$("#button").click(function(){
		if (navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) { //ios
			var copyDOM = document.querySelector('#data');  //要複製文字的節點  
			var range = document.createRange();    
			// 選中需要複製的節點  
			range.selectNode(copyDOM);  
			// 執行選中元素  
			window.getSelection().addRange(range);  
			// 執行 copy 操作  
			var successful = document.execCommand('copy');    
			try {    
				var msg = successful ? 'successful' : 'unsuccessful'; 
				
				console.log('copy is' + msg);    
			} catch(err) {    
				console.log('Oops, unable to copy');    
			}  
			// 移除選中的元素  
			window.getSelection().removeAllRanges();  
		}else{
			
			console.log("android不支援此方式複製")
		}
	});


注意:這個方法在ios中有效,android中不起作用。另外,如果ios中不奏效,請檢查css中

{-webkit-user-select: text; }
 -webkit-user-select屬性是否為text,為none會導致複製失敗。

有相容性更好的方式,還望告知。