본문 바로가기

컴퓨터/언어,프로그래밍

클립보드에 복사하기

클립보드(Clipboard) 정의
 
1. 컴퓨터에서 임시 저장 공간으로 사용하기 위해 확보된 메모리 영역.
2. 윈도우 운영체제 에서는 이미지나 문자열을 복사할때 클립보드에 저장한다.
3. 클립보드에는 한번에 한가지의 내용밖에는 집어넣을 수가 없습니다.
 
1. 첫번째 방법
 
window.clipboardData.setData('Text', "Leejunsik");
-- 클립보드에 'Leejunsik' 문자열 복사하기
 
window.clipboardData.setData('Text', Source.innerText);
-- 클립보드에 Source.innerText 내용 복사하기
 
window.clipboardData.getData('Text');
-- 클립보드의 내용 가져오기
 
window.clipboardData.clearData("Text");
-- 클립보드의 내용 지우기
 
사용예제
<script>
function c_copy(){
window.clipboardData.setData('Text','저장할내용');
}
function c_paste(){
document.getElementById('lee').value=window.clipboardData.getData('Text');
}
function c_clean(){
window.clipboardData.clearData("Text");
}
</script>
<input type="text" name="lee" value="">
<a href="#;" omclick="c_copy();">복사하기</a>
<a href="#;" omclick="c_paste();">붙여넣기</a>
<a href="#;" omClick="c_clean();">제거하기</a>
 
2. 두번째 방법(출처 : jjangwarez.com)
 
TextRange 객체의 execCommand 메서드를 사용하면 되겠습니다.
그런데 createRange()와 createTextRange()의 차이가 있습니다.
createRange()는 document.selection같이 선택한 문자열에 대해서 사용하며
createTextRange()는 document.all.file_name이나 document.body 같은 곳에 사용된다.
 
※ execCommand 메소드를 사용하려면 TextRange 객체를 사용해야만 한다.
 
<!--특정 form필드의 값을 복사하기-->
<script>
function copy_contents(value) {
 var doc = eval('document.all.' + value + '.createTextRange()');
//var doc = eval('document.getElementById(id).createTextRange()');
//위의 방식으로 하면 개체가 속성을 지원하지 않는다고 에러난다.
 alert(doc.text);
 doc.execCommand('copy');
}
</script>
<a href='#;' omClick="copy_contents('hidden_text')">클립보드에 저장</a>
<input type='hidden' name='hidden_text' value='ahead21th'>
※ 클릭한번으로 클립보드에 저장시켜주는 소스입니다.(출처:jjangwarez.com)
 
<!--document 내의 선택한 text의 값을 복사하기-->
<html>
<head>
<title> 선택영역 복사하기 </title>
<script language="javascript">
function _copy()
{
 alert(document.selection.createRange().text);
 document.selection.createRange().execCommand("copy");
}
</script>
</head>
<body>
동해물과 백두산이 마르고 닳도록<br>
하느님이 보우하사 우리나라 만세<br>
무궁화 삼천리 화려강산<br>
대한사람 대한으로 길이 보전하세
<input type="button" value="copy" omclick="_copy()">
</body>
</html>
 
<!--<body>태그내의 모든 문자열 가져오기-->
<html>
<head>
<title> 바디내의 text가져오기 </title>
<script language="javascript">
function _copy()
{
 alert(document.body.createTextRange().text);
 document.body.createTextRange().execCommand("copy");
}
</script>
</head>
<body>
동해물과 백두산이 마르고 닳도록<br>
하느님이 보우하사 우리나라 만세<br>
무궁화 삼천리 화려강산<br>
대한사람 대한으로 길이 보전하세
<input type="button" value="copy" omclick="_copy()">
</body>
</html>
 
HTML형태 그대로 클립보드에 저장하는 소스
 
index.html 소스
<script>
function copy()
{
 cprange = window.hframe.document.body.createTextRange(); 
 cprange.execCommand("Copy"); 
 alert('추적기가 복사되었습니다.\n\n설치하실 게시판 글의 -수정- 클릭후 내용에
CTRL+V 붙혀넣기 하세요');
}
</script>
<input type="button" value="복사하기" omClick="copy();">
<iframe src="test7.php" name="hframe" id="hframe" width=0 height=0 frameborder=0 ></iframe> 
 
test7.php 소스
<b><u>sdfsdfdsfds</u></b>
 
※ HTML형태 그대로 클립보드에 복사한다.
※ CYINFO.CO.KR에서 추적기 복사때 사용하던 소스참고
 




<?  $source = "<table><tr><td></td></tr><tr><td></td></tr></table>" ?>

<input type="button" value="이미지 태그 복사" onclick="window.clipboardData.setData('text','<?=$source?>');alert('코드가 복사 되었습니다.');">


제주삼다수, 2L,... 오뚜기 진라면 매운... 상하목장 유기농 흰... 남양 프렌치카페 카... 고려인삼유통 홍삼 ... 종근당건강 오메가3... 요이치 카링 유무선...