본문 바로가기
3. 웹개발/3_2_2 Javascript Function 모음

[Javascript] 브라우저 버전 체크 & Text 클립보드(Clipboard) 복사하기

by 갓대희 2018. 6. 14.
반응형



[Javascript] 브라우저 버전 체크 & Text 클립보드(Clipboard) 복사하기



안녕하세요. 갓대희 입니다. 이번 포스팅은 [ Javascript 브라우저 버전체크, 클립보드 복사 ] 입니다. : ) 



브라우저 버전, 종류 체크



▶ 브라우저 버전 체크 방법

    var BrowserVersionCheck = function() {
        var word;
        var versionOrType = "another";
        var ieName = navigator.appName;
        var agent = navigator.userAgent.toLowerCase();
        
        /*** 1. IE 버전 체크 ***/
        // IE old version ( IE 10 or Lower )
        if ( ieName == "Microsoft Internet Explorer" ){
            word = "msie ";
        }else{
            // IE 11
            if( agent.search("trident") > -1 ) word = "trident/.*rv:";
            // IE 12  ( Microsoft Edge )
            else if( agent.search("edge/") > -1 ) word = "edge/";
        }
    
        var reg = new RegExp( word + "([0-9]{1,})(\\.{0,}[0-9]{0,1})" );
        if ( reg.exec( agent ) != null )
        versionOrType = RegExp.$1 + RegExp.$2;
        
        /*** 2. IE가 아닌 경우 브라우저 체크 ***/
        if( versionOrType == "another" ){
            if (agent.indexOf("chrome") != -1) versionOrType = "Chrome";
            else if (agent.indexOf("opera") != -1) versionOrType = "Opera";
            else if (agent.indexOf("firefox") != -1) versionOrType = "Firefox"; 
            else if (agent.indexOf("safari") != -1) versionOrType = "Safari";
        }
        return versionOrType;
    };



▶ text를 클립보드로 복사


 - 기본적으로 IE에서는 window.clipboardData.함수를 사용하여 text를 클립보드로 복사할 수 있다.


1. 클립보드로 텍스트를 복사

window.clipboardData.setData("Text", "복사하고 싶은 Text"); 

2. 클립보드로 부터 복사된 내용을 가져올때

var 변수명 = window.clipboardData.getData("Text");

3. 발췌한 글뒤에 꼬리표 붙일때.

var txt = window.clipboardData.getData('Text');

txt = txt + '\r\n(출처 : 갓대희의 작은공간 )\r\n';

window.clipboardData.setData('Text', txt);


하지만 위의 window.clipboardData.함수가 작동하지 않는 경우가 있다.

 - IE의 특정 버전

 - 크롬

 - 파이어폭스

 - etc....


이럴땐 prompt창을 호출하여 복사하기를 유도 할 수도 있다.

ex) prompt("Ctrl+C를 눌러 클립보드로 복사하세요", "갓");


이를 모두 고려하여 클립보드 복사 스크립트를 작성해 보자.



▶ 최종 text 클립보드 복사 script


 - 브라우전 버전 체크 활용하여 IE10 이하일때, 이외일때로 구분한다.

    var BrowserVersionCheck = function() {
        var boolean = false;
        var ieName = navigator.appName;
        var agent = navigator.userAgent.toLowerCase();
        
        /*** 1. IE 버전 체크 ***/
        // IE old version ( IE 10 or Lower )
        if ( ieName == "Microsoft Internet Explorer" ){
            boolean = true;
        }else{
            // IE 11
            // 만약 IE11 에서 window.clipboardData.setData가 작동 한다면 true
            // 작동 하지 않으면 false를 return 하여 준다.
            if( agent.search("trident") > -1 ){
                boolean = true;
            }
            // IE 12  ( Microsoft Edge )
            else if( agent.search("edge/") > -1 ){
                boolean = false;
            }
        }
        
        // 이외 브라우저에서는 어차피 작동 하지 않으니 기본값인 false 리턴
        return boolean;
    };
    
    if(BrowserVersionCheck){
        window.clipboardData.setData("Text", "복사하고 싶은 Text");
        alert("해당 URL이 복사 되었습니다. Ctrl + v 하시면 붙여 넣기가 가능합니다.");
    } else{
        temp = prompt("해당 URL을 복사하십시오.", "복사하고 싶은 Text");
    }


 




반응형

댓글1