하지만 플래시를 사용해서 복사할 수는 있습니다. 예를 들면 VeryCd입니다. 플래시인 "선택한 연결 복사" 버튼을 살펴보세요. 플래시의 보안 샌드박스에서는 콘텐츠를 클립보드로 복사하는 것을 제한하지 않는 것 같습니다
하지만 한계가 있습니다.
1 ZeroClipborad 직원에 따르면 이러한 플래시는 네트워크를 통해 로드되어야 합니다.
이것은 Adobe Flash Player의 보안 제한 사항입니다. 안타깝게도 JavaScript-to-Flash 인터페이스("ExternalInterface)를 사용하고 있기 때문입니다. ") 이는 실제 온라인에서만 작동합니다(페이지 URL이 "http://" 또는 "https://"으로 시작하는 경우). . 디스크의 로컬 파일에서는 실행되지 않습니다.
그러나 로컬 Flash Player 보안 설정을 편집하고 이를 허용할 수 있는 방법이 있습니다.
http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04a.html
그리고 로컬 "ZeroClipboard.swf" 파일의 경로를 신뢰할 수 있는 파일 목록에 추가하거나 "모두 허용" 옵션을 사용해 보세요.
2 플래시는 복사 기능을 제공하지만 사용자는 클릭 한 번만 하면 됩니다. 이는 JavaScript에서 setText 함수를 통해 클립보드에 복사할 수 없다는 의미입니다. 대신 setText 함수를 호출한 후 사용자의 마우스가 플래시를 클릭합니다.
이 라이브러리는 Flash Player 10과 완벽하게 호환되므로 Flash 동영상 내의 사용자 클릭 이벤트에 의해 클립보드 복사 작업이 시작되어야 합니다.
플래시를 사용하여 파일을 업로드하는 swfupload와 동일한 문제가 있습니다.
ZeroClipboard를 사용하면 웹 콘텐츠를 클립보드에 복사할 수 있습니다. 하지만 ZeroClipboard에는 GWT 캡슐화 기능이 없습니다. 저희 프로젝트에서는 GWT를 사용하기 때문에 swfupload의 GWT 캡슐화 방법을 배우고 ZeroClipboard를 GWT에서 호출할 수 있는 형태로 캡슐화했습니다.
1 먼저 zeroclipboard.jar을 캡슐화합니다
2 프로젝트에서는 GXT 컨트롤 라이브러리를 사용하여 컨트롤과 긴밀하게 통합하기 위해 두 가지를 결합하는 ZClipboardBinder 클래스를 작성했습니다.
3 사용방법은 아래와 같습니다(Zeroclipboard_test.java)
onModuleLoad()
를 정의합니다. 관련 다운로드는 첨부파일에 있습니다.
결과보기
버튼을 클릭한 후 실제로 위의 플래시를 클릭한 후 결과를 확인하세요.
이제 여러 파일 업로드, 클립보드에 복사 등 JavaScript로 구현할 수 없는 의미 있는 기능이 많이 있다는 것을 알게 되었는데, 이는 모두 플래시를 통해 중개자이자 "곡선"으로 구현됩니다. 최종 HTML5를 모릅니다. 이러한 문제가 해결되었는지 여부에 대해 고민할 필요는 없습니다.
제로 클립보드 오픈소스 JavaScript 플래시 카피 라이브러리 클래스