클립 보드에 텍스트를 복사 지금의 execCommand는 ( "복사")는 사용되지 않습니다 것을

user984003 :

난 그냥의 execCommand ()가 사용되지 않는 것을 모질라 페이지에서 본 https://developer.mozilla.org/en-US/docs/Web/API/Document/execCommand

"이 기능은 사용되지 않습니다. 그것은 여전히 ​​언제든지 제거 할 수 있기 때문에 그것의 사용은 권장하지 않습니다, 일부 브라우저에서 작동 할 수 있지만. 그것을 사용하지 않는 것이 좋습니다."

이것은 사용자가 "텍스트 복사"버튼을 클릭 할 때 나는 현재 사용자의 클립 보드에 텍스트를 복사하는 데 사용하는 것입니다. 그것을 할 수있는 또 다른 방법이 있나요?

 var input = // input element with the text
 input.focus();
 input.setSelectionRange(0,99999);
 document.execCommand("copy");
 input.blur();

편집 : 이것은 어떻게 자바 스크립트에서 클립 보드에 복사합니까? 질문에 대답하지 않습니다. 이 같은 사용되지 않는 솔루션을 제안합니다.

user984003 :

질문에 Klaycon의 코멘트에서. 교체 클립 보드 API입니다. 그것은 모든 브라우저에서 구현하지만, 대부분되지 않습니다.

https://developer.mozilla.org/en-US/docs/Web/API/Clipboard_API

// In this example, the text to copy would be in an element with id = textcopy

var text_to_copy = document.getElementById("textcopy").innerHTML;

if (!navigator.clipboard){
    // use old commandExec() way
} else{
    navigator.clipboard.writeText(text_to_copy).then(
        function(){
            alert("yeah!"); // success 
        })
      .catch(
         function() {
            alert("err"); // error
      });
}    

사용자 작업에 의해 시작된 때 (파이어 폭스와 같은) 일부 브라우저의 경우에만 작동합니다. 따라서, 예를 들어, 버튼 리스너 내부의 코드를 삽입.

나는 (윈도우) 크롬, 파이어 폭스, 새로운 에지, 오페라, 아이폰 OS 사파리, 아이폰 OS 크롬, iOS 앱의 웹뷰에서이 (2020년 2월)를 테스트했다. 클립 보드 WRITETEXT 잘 작동합니다.

추천

출처http://43.154.161.224:23101/article/api/json?id=7509&siteId=1