본문 바로가기
JS&jQuery

[JS&jQuery] 클립보드 복사 기능 구현(clipboard 라이브러리 사용)

by jn4624 2021. 9. 11.
반응형

1. 라이브러리 설치 경로

https://clipboardjs.com/

 

clipboard.js

A modern approach to copy text to clipboard. No Flash. No frameworks. Just 3kb gzipped

clipboardjs.com

위 사이트에서 자신의 개발환경에 맞는 방법을 찾아 라이브러리를 설치하거나 Import하여 사용하면 된다.

필자는 보안성이 강한 개발환경으로 라이브러리를 다운로드 받아 필요한 파일만 Eclipse에 Import하여 사용하는 방법을 선택하였다.

 

 

 

위와 같이 필요한 파일만 Resource 파일에 옮겨두고

 

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="UTF-8"%>
    
    <%-- Clipboard --%>
    <script type="text/javascript" charset="utf-8" src="${compoResourcePath}/clipboard/dist/clipboard.js"></script>
    <script type="text/javascript" charset="utf-8" src="${compoResourcePath}/clipboard/dist/clipboard.min.js"></script>

 

JSP를 별도로 만들어 위 Resource 파일들만 Import해놓은 후

 

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<%@include file="common/clipboard.jsp" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
    <button class="btnCopyUrl" data-clipboard-text="www.naver.com">클립보드 복사</button>
    <button class="btnCopyUrl" data-clipboard-text="www.daum.net">클립보드 복사</button>
    <button class="btnCopyUrl" data-clipboard-text="www.google.com">클립보드 복사</button>
    
    <script>
        var clipboard = new ClipboardJS('.btnCopyUrl');
        
        clipboard.on('success', function(e){
            alert("클립보드에 복사되었습니다.");
        });
        
        clipboard.on('error', function(e){
            console.log(e);
        });
    </script>
</body>
</html>

 

사용될 JSP에 Include하여 사용하였다.

 

클립보드 복사 기능 소스는 Script 단락에 있는 것이 전부이며, <button> 태그 data-clipboard-text에 복사할 text가 정의되어 있어야 정상적으로 동작한다.

 

 

🙏 참조 ::

 

반응형