반응형
웹 사이트 제작 시 url 주소 복사 기능을 위해 클립보드 기능을 만들고 싶으신 분들이 많습니다.
해당 내용은 JavaScript로 만든 기능으로 많은 분들이 도움이 됐으면 좋겠네요.
var url = window.location.href; // 현재 페이지의 URL 가져오기
var tempInput = $('<input>'); // 임시 <input> 엘리먼트 생성
$('body').append(tempInput); // <input> 엘리먼트를 body에 추가
tempInput.val(url).select(); // <input>에 URL을 설정하고 선택
const copy = document.execCommand('copy'); // 선택된 URL을 클립보드에 복사
tempInput.remove(); // 임시 <input> 엘리먼트 제거
if (copy) {
alert("클립보드 복사되었습니다.");
} else {
alert("이 브라우저는 지원하지 않습니다.");
}
1. 현 페이지 주소를 가져 오기 위해 window.location.href로 주소를 가져와서 변수에 담아줍니다.
2. 가져온 주소를 복사하여 사용할 수 있게 만들기 위해 임의로 담을 만한 input을 만들어줍니다.
3. 만든 input를 웹 상에 호출해줘야 사용이 가능하기에 body안에 append를 사용하여 추가해준 뒤
4. 만든 임시 input에 가져온 url 주소를 담아 둔 뒤 select를 사용하여 선택해줍니다.
5. 해당 값을 execCommand의 copy를 하여 해당 값을 복사하여 줍니다.
6. 자기 할 일을 마친 input를 삭제하여 안보이게 만들어줍니다.
(제대로 복사하고자 하는 주소가 맞는지 확인을 하고 싶으시다면, 마지막 내용인 tempInput.remove를 안해주시면 됩니다.)
7. 위 내용식으로 확인할게 아니라면 복사가 되었는지 안되었는지 체크가 힘드니 조건문 if를 활용하여 내가 방금 url 주소를 담은 변수 copy에 값의 유무를 확인하여 alert창을 띄워 확인해줍니다.
해당 내용으로 간단하게 클립보드 기능을 만들 수 있습니다. 많은 분들께서 도움이 되신다면 좋을 것 같네요 ^^
반응형
'웹 공부' 카테고리의 다른 글
HTML 태그 기본 가이드 - 레이아웃 및 텍스트 포맷팅 (1) | 2024.01.10 |
---|---|
[HTML] h1~h6 태그를 왜 써야하는걸까? (2) | 2023.10.13 |
(HTML) Form 태그에 사용되는 기본 태그들을 알아보자! (0) | 2019.10.10 |
(HTML) 테이블 글자 정렬에 대해 알아보자! (0) | 2019.09.27 |
HTML 기본 용어 정리 (0) | 2019.06.26 |