[javascript] 클립보드 내용 가져오기 (IE/Chrome)

IE에 경우 window.clipboardData.getData() 함수를 이용하여 클립보드에 내용을 가져올수 있지만, 

Chrome에 경우 보안상에 이유로 바로 접근이 불가능 합니다. 

그래서 아래와 같이 paste 이벤트시 내용을 가져오는것으로

처리 할 수 있습니다. 


:: javascript 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function handlePaste (e) {
    var clipboardData, pastedData;
 
    // Stop data actually being pasted into div
    e.stopPropagation();
    e.preventDefault();
 
    // Get pasted data via clipboard API
    clipboardData = e.clipboardData || window.clipboardData;
    pastedData = clipboardData.getData('Text');
    
    // Do whatever with pasteddata
    alert(pastedData);
}
document.getElementById('testId').addEventListener('paste', handlePaste);
cs


:: html

1
<input type="text" id="testId">
cs


위와 같이 하고 input창에서 붙여넣기를 할 경우 클립보드에 내용이 출력되는걸 확인할 수 있습니다. 

ie, chrome 모두 이상없이 동작합니다. 


:: jsfiddle




출처 : http://stackoverflow.com/questions/2176861/javascript-get-clipboard-data-on-paste-event-cross-browser