[javascript] Clipboard.js를 사용하여 웹페이지에서 복사한 내용을 다른 웹사이트에 게시하기

Clipboard.js는 javascript 라이브러리로, 웹페이지에서 텍스트나 이미지 등을 클립보드에 복사하거나 붙여넣기 할 수 있도록 도와줍니다. 이를 활용하여 웹페이지에서 복사한 내용을 다른 웹사이트에 게시하는 방법을 알아보겠습니다.

Clipboard.js 설치 및 설정하기

먼저 Clipboard.js를 사용하기 위해, 해당 라이브러리를 다운로드하고 웹사이트에 추가해야 합니다. 아래의 단계를 따라 진행해보세요.

  1. 라이브러리 다운로드하기: Clipboard.js 공식 웹사이트에서 최신 버전의 Clipboard.js를 다운로드 받습니다.

  2. 다운로드한 파일을 웹사이트의 폴더에 추가합니다. 일반적으로 js 폴더나 vendor 폴더에 저장하는 것이 일반적입니다.

  3. HTML 파일에 Clipboard.js 라이브러리를 포함시킵니다. 아래와 같이 <script> 태그를 추가합니다.

    <script src="js/clipboard.min.js"></script>
    
  4. 클립보드를 사용할 HTML 요소를 선택합니다. 예를 들어, <button> 태그에 ‘복사’ 기능을 추가하고 싶다면, 해당 요소를 선택합니다.

복사 기능 추가하기

선택한 HTML 요소에 Clipboard.js를 초기화하고 복사 기능을 추가하기 위해 다음과 같은 단계를 따릅니다.

  1. HTML 요소를 선택합니다. 예를 들어, 아래와 같이 <button> 태그를 선택합니다.

    <button id="copyButton">복사</button>
    
  2. JavaScript 코드에서 선택한 요소를 초기화하고 Clipboard.js를 활성화합니다.

    var copyButton = document.getElementById('copyButton');
    var clipboard = new ClipboardJS(copyButton);
    
  3. 복사 이벤트가 발생했을 때 실행할 동작을 정의합니다. 예를 들어, 복사가 성공적으로 완료되었을 때 알림 메시지를 표시하고자 한다면, 아래와 같이 코드를 작성합니다.

    clipboard.on('success', function(e) {
      console.log('복사 완료: ' + e.text);
    });
    
    clipboard.on('error', function(e) {
      console.log('복사 실패: ' + e.text);
    });
    

다른 웹사이트에 복사한 내용 게시하기

이제 복사 버튼을 클릭하면 해당 내용이 클립보드에 복사되고, 그 내용을 다른 웹사이트에 붙여넣기 할 수 있습니다. 붙여넣기를 할 때 해당 웹사이트에서는 복사된 내용을 잘 처리할 수 있어야 합니다. 예를 들어, 다음은 복사된 내용을 <textarea> 요소에 붙여넣기 하는 예시입니다.

// 붙여넣기 기능 있는 입력란 선택
var textarea = document.getElementById('textarea');

// 붙여넣기 버튼 클릭 시
document.getElementById('pasteButton').addEventListener('click', function() {
  textarea.value = window.clipboardData.getData('Text');
});

위 코드는 IE 브라우저에서 동작하도록 작성된 코드입니다. 다른 브라우저에서는 브라우저 별 붙여넣기 기능을 활용해야 할 수 있습니다. 해당 브라우저의 API를 확인하고 적절한 코드를 추가해주세요.

결론

위의 단계를 따라하면 웹페이지에서 복사한 내용을 다른 웹사이트에 게시할 수 있는 클립보드 기능을 구현할 수 있습니다. Clipboard.js를 사용하면 클립보드 관련 작업을 간편하게 처리할 수 있으므로, 활용해보세요.

참고 자료