영원한사랑

익스플로러7로 업데이트 한 후에 블로그에 글을 올릴때마다


'이 웹 페이지에서 클립보드에 엑세스 할 수 있도록 허용하시겠습니까?'


이런 종류의 메시지가 자동으로 뜨더군요. 메시지 창에서 허용을 선택해도 뜨고,

허용을 선택하지 않아도 또 뜨게 됩니다.


이 해결방법은, 익스플로러7 설치후 기본설정이 되어있다는 가정하에,

익스플로러 상단 우측을 보시면 도구 라는 메뉴가 있습니다.


이 도구 메뉴를 클릭하신 후 맨 아래쪽의 인터넷 옵션 을 선택하시면

인터넷 옵션 창이 별도록 활성화 되게 됩니다.

그 창에서 두번째 탭인 보안을 클릭하신뒤 창 아래쪽의 사용자 지정 수준을 다시

클릭하시면 보안설정-인터넷영역 이라는 창이 또 뜨게 됩니다.


여기서 우측의 스크롤바를 중간이하로 내려 스크립팅 명령을 찾으시면

스크립팅 명령의 하위 세번째 명령줄에 프로그램 클립보드 액세스 허용 이라는

명령이 있고, 이 명령에 대해서 확인에 체크가 되어있을 겁니다.

이걸 사용으로 체크를 하시면 완료가 됩니다.


풀어서 쓰다보니 길어졌는데, 간략하게 정리하면 아래와 같은 순서입니다.



도구 → 인터넷 옵션 → 보안 → 사용자 지정 수준 → 스크립팅

→ 프로그램 클립보드 액세스 허용 → 사용


::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::


클립보드 복사 기능 스크립트 - 플래시 이용

미리보기 : http://oxtag.com/html/ex/clipboard/

출처 : http://www.alik.info


function copyContent(str)
{
    if (document.selection)
    {
        bResult = window.clipboardData.setData("Text",str);
        if (bResult) alert('클립보드에 저장되었습니다.');
    } else {
        str = encodeforFlash(str);
        var flashcopier = 'flashcopier';
        if(!document.getElementById(flashcopier)) {
            var divholder = document.createElement('div');
            divholder.id = flashcopier;
            document.body.appendChild(divholder);
        }
        document.getElementById(flashcopier).innerHTML = '';
        var divinfo = '<embed src="_clipboard.swf" FlashVars="clipboard='+str+'" width="1" height="1" type="application/x-shockwave-flash"></embed>';
        document.getElementById(flashcopier).innerHTML = divinfo;
        alert('클립보드에 저장되었습니다.');
    }
};


function encodeforFlash(str)
{
    var SAFECHARS = "0123456789" +
                  "ABCDEFGHIJKLMNOPQRSTUVWXYZ" +
                  "abcdefghijklmnopqrstuvwxyz" +
                  "-_.!~*'()";

    var HEX = "0123456789ABCDEF";

    var plaintext = str;
    var encoded = "";
    for (var i = 0; i < plaintext.length; i++ ) {
        var ch = plaintext.charAt(i);
        if (ch == " ") {
            encoded += "+";
        } else if (SAFECHARS.indexOf(ch) != -1) {
            encoded += ch;
        } else {
            var charCode = ch.charCodeAt(0);
            if (charCode > 255) {
                encoded += ch;
            } else {
                encoded += "%";
                encoded += HEX.charAt((charCode >> 4) & 0xF);
                encoded += HEX.charAt(charCode & 0xF);
            }
        }
    }
    return encoded;
};


사용법은

    copyContent('복사할내용');

이런식으로 복사될 내용을 넘겨주면서 호출해주면 되는겁니다.
(onclick 이나... 링크나...함수내 호출이나...아무렇게나!)



::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

첫번째 링크는 위 "...클립보드에 엑세스 할 수 있도록 허용..." 메시지가 나오구요.
두번째,세번째 링크는 위 메시지가 나오지 않습니다.

   http://oxtag.com/html/ex/clipboard

   http://oxtag.com/html/ex/clipboard/clipboard2/

   http://oxtag.com/html/ex/clipboard/clipboard3/