2012-08-13 2 views
0

클립 보드 IE 자바 스크립트 함수에 복사본을 만들려고하지만 내 코드가 작동하지 않습니다. 매개 변수의 형식을 지정하고 인수를 전달하는 방법은 무엇입니까?javascript 함수 인수로 html span id

/*invisible storage*/ 
<textarea id="storageBox" STYLE="display:none;"> 
</textarea> 

<p id="abc">I WANT TO COPY THIS TEXT</p> 

<button onClick="Copy(abc);">Copy</button><br /> 

<script type="text/javascript"> 
function Copy(txt) { 
storageBox.innerText = txt.innerText; 
Copied = storageBox.createTextRange(); 
Copied.execCommand("RemoveFormat"); 
Copied.execCommand("Copy"); 
} 
</script> 

zclip을 사용하여 이것을 작성하거나 비슷한 예를 보여줄 수있는 사람들을위한 주요 업소 !!

+1

브라우저가 클립 보드에 액세스 할 수 있도록 설정되어 있습니까? – epascarello

+0

IE에서 페이지를 열 때 스크립트 실행을 허용합니다. – CptZpBrngn

+0

실제로 스크립트는 정상적으로 작동합니다. 스크립트가 클립 보드를 사용할 수 있도록 인터넷 옵션을 확인하십시오. – Teemu

답변

0

변경 내용은 다음과 도움이 될 것입니다

... onclick="Copy('abc');"... 

storageBox.value = document.getElementById(txt).innerText 

나는 생각한다. 사용자가 클립 보드를 납치하려는 이유 (사용자가 중요한 것을 가지고 있다면 어떻게 될까요?)

+0

불행히도 이것이 작동하지 않습니다. storageBox도 ID라는 것이 중요합니까? document.getElementById ("storageBox")를 사용하여 var를 만들 때 버튼을 클릭해도 아무 것도하지 않습니다. 나는 이것이 가난한 형태이며 zclip을 사용하기를 아주 좋아한다는 점에 분명히 동의하지만, 나는 js에 대해 매우 익숙하다. – CptZpBrngn

+0

그런 다음 질문을하기 전에 좋은 책이나 온라인 자습서를 찾는 것이 좋습니다. 여기서 질문하는 정책의 일부는 도움을 요청하기 전에 숙제를해야한다는 것입니다. 또한 텍스트 영역을 읽거나 쓰려면 구문이 innerText가 아니라 [텍스트 영역 개체] .value입니다. 여기에있는 다른 답변도 매우 유효합니다. 고려해보십시오. – Art

0

먼저 매개 변수를 전달해야합니다. 문자열로 : 함수에서

<button onClick="Copy('abc');">Copy</button><br /> 

, 당신은 (문자열로)이 ID를 기반으로 DOM에서 요소를 얻을 필요가

function Copy(txt) { 
    storageBox.innerText = document.getElementById(txt).innerText; 
    ... 
+0

이것은 Art에서 제안한 것과 동일하며 안타깝게도 작동하지 않습니다. 특정 오류 또는 경고를 표시하는 유틸리티를 통해 코드를 실행하는 방법이 있습니까? – CptZpBrngn

+0

Firefox와 Firebug 플러그인을 사용하십시오. JS 콘솔을 열면 오류가 표시됩니다. –

0

내가 스크립트가 제대로 작동 댓글을 달았지만, HTML에서 해결해야 할 부분입니다. display: none으로 설정하면 execCommand()은 콘텐츠를 복사 할 수 없습니다. 따라서 다음을 수행해야합니다.

<textarea id="storageBox" style="width: 0px; height: 0px; border: 0px;"></textarea> 
+0

이것은 매개 변수를 적절하게 변경 한 후에 스크립트가 올바르게 작동하지만 픽셀 크기의 정사각형을 만듭니다. 정보를 가져 주셔서 감사합니다. – CptZpBrngn

+0

@CptZpBrngn'textarea'를 절대적으로 배치하고'top : -500px'를 설정할 수 있습니다. 다른 답변을 통해 논증을 적절하게 전달할 수 있지만 원본 스크립트도 그대로 작동합니다. IE에서'id'는 요소를 참조하는 전역 변수를 만듭니다. – Teemu