DESC

내가 보려고 쓰는 블로그

«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Today
-
Yesterday
-
Total
-
  • Javascript 클립보드 복사
    Javascript 2022. 12. 16. 10:48
    반응형

    javascript 에 내장되어있는 기본 함수를 사용해서 화면의 값을 클립보드로 복사할 수 있다.

    클립보드 복사는  writeText  함수를 사용하는것이 권장되나, 해당 함수는 https, localhost 에서만 동작한다. 개발서버 등 http 포트를 사용하는 경우 구버전인  execCommand 를 사용해줘야 한다.

    테스트 할때 textarea element 를 하나 숨겨두고 값을 사용하려고 하였으나 제대로 동작하지 않았다. 원인을모르겠음 하여 구글링한 소스로 사용함.

     

    $(".btn-copy").bind('click', function() {
      var targetItem = $(this).siblings('.item-copy')
      , targetVal = targetItem.val();
    
      // 숫자만복사할 아이템 체크
      if(targetItem.hasClass('number')){
        targetVal = targetVal.replace(/[^0-9]/g, '');
      }
      
      if(isEmpty(targetVal)){
        alert('값이 없습니다.');
        
      }else{
        if( location.hostname == 'localhost' || location.protocol.indexOf('https') != -1 ){
          navigator.clipboard.writeText(targetVal).then(function(){
            alert('복사되었습니다.');
          });
          
        }else{
          var $temp = $("<textarea>");
          $("body").append($temp);
          $temp.val(targetVal).select();
          document.execCommand("copy", false, $temp.val());
          $temp.remove();
          alert('복사되었습니다.');
        }
        
      }
    
    });

     

    반응형

    'Javascript' 카테고리의 다른 글

    Javascript 모듈화 해서 사용하기  (0) 2021.01.08
    sessionStorage & localStorage 사용  (0) 2020.12.29
    JQuery cookie 라이브러리 활용하기  (0) 2020.08.05
    window.console 확장  (0) 2020.04.29

    댓글

Customed By Hailey Gong.