Clipboard.js는 HTML 페이지를 사용하여 정보를 클립보드에 복사합니다.

巴扎黑
풀어 주다: 2017-07-18 17:00:04
원래의
2511명이 탐색했습니다.

최근에 저는 스마트 고객 서비스 웹 브라우저 애플리케이션을 작업하고 있습니다. 요구 사항 중 하나는 고객이 시스템에서 반환된

답변을 받은 후 "답변 복사" 버튼을 클릭하여 답변을 시스템 클립보드에 복사하는 것입니다. 작은 케이스라고 생각했는데, 다양한 주류 브라우저와 좋은 호환성을 갖기가 쉽지 않다는 걸 깨달았습니다. 그 이유는 보안상의 이유로 대부분의 최신 브라우저가 범용 클립보드 복사 인터페이스를 제공하지 않기 때문입니다(또는 제공하더라도 기본적으로 비활성화되어 있습니다).

온라인으로 검색한 결과 대략 두 가지 솔루션이 있는 것으로 나타났습니다.

하나: 기본 자바스크립트에서 window.clipboardData를 사용하여 클립보드로 복사 기능을 구현합니다.

두 번째: Zero Clipboard 라이브러리를 사용합니다. 시도해 본 결과 기존 솔루션 중 어느 것도 요구 사항을 충족할 수 없다는 사실을 발견했습니다.

옵션 1은 IE 브라우저만 지원하며 Firefox 및 Chrome 브라우저에서는 작동하지 않습니다.

옵션 2는 대부분의 기존 웹사이트(github 등 포함)에서 채택한 솔루션입니다. ZeroClipboard는 외국 전문가가 개발한 클립보드 복사용

JS 플러그인으로, 브라우저 간 복사 기능을 구현하기 위해 Flash를 기반으로 합니다. ZeroClipboard

를 사용하면 사용자 인터페이스에 영향을 주지 않고 작은 Flash 비디오(swf)를 조용히 숨길 수 있습니다. 복사 기능을 구현하려면

만 사용하면 됩니다.

 제로클립보드의 "제로"는 "보이지 않는, 간섭 제로"를 의미합니다.

  이에 관심이 있으신 분들은 http://my.oschina.net/shniu/blog/298406?p=1

를 참고하시면 됩니다.

  하지만 최신 브라우저에서는 플래시가 점차 쇠퇴하고 있고, 파이어폭스 브라우저도 그렇습니다. 기본적으로 플래시가 켜지지 않으므로 Zero Clipboard도

호환성 측면에서 성능이 좋지 않습니다.

그렇다면 클립보드에 복사하는 것과 같은 간단한 작업을 위한 간단하고 호환 가능한 솔루션이 있을까요? 일부! 이것이 github

의 오픈 소스 프로젝트인 clipsboard.js입니다(공식 웹사이트: http://zenorocha.github.io/clipboard.js/). 공식 웹사이트의 clipsboard.js 소개는 매우 간단합니다:

 현대적인 접근 방식 텍스트를 클립보드에 복사합니다. 종속성이 없습니다. 3kb만 압축하면 됩니다.

 텍스트를 클립보드에 복사하는 것은 구성하는 데 수십 단계가 필요하거나

로드하는 데 수백 KB가 필요하지 않습니다. Flash나 기타 비대한 프레임워크에 의존해서는 안 됩니다.

그래서 clipsboard.js가 존재합니다. Flash와 다른 프레임워크에 의존해야 합니다. 이것이 클립보드가 존재하는 이유입니다.)

다운로드 경로:

Application:

data-clipboard-target 속성은 복사해야 하는 html에 해당합니다. 단어로 저장된 경우 페이지 스타일을 전달할 수 있습니다. txt는 없습니다.

예는 다음과 같습니다.

<!-- Target -->
<input id="foo" value="https://github.com/zenorocha/clipboard.js.git">

<!-- Trigger -->
<button class="btn" data-clipboard-target="#foo">
<img src="assets/clippy.svg" alt="Copy to clipboard">
</button>
로그인 후 복사

data-clipboard-action 속성은 복사 또는 잘라낸 내용을 구별하는 데 사용됩니다.

<!-- Target -->
<textarea id="bar">Mussum ipsum cacilds...</textarea>

<!-- Trigger -->
<button class="btn" data-clipboard-action="cut" data-clipboard-target="#bar">
Cut to clipboard
</button> 
로그인 후 복사

잘라내기 작업은 또는