패키지 | flash.desktop |
클래스 | public class Clipboard |
상속 | Clipboard Object |
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.0 |
generalClipboard
속성을 통해 액세스할 수 있습니다.
Clipboard 객체는 같은 정보를 여러 형식으로 포함할 수 있습니다. 정보를 여러 형식으로 제공하면 다른 응용 프로그램에서 해당 정보를 사용할 수 있을 가능성이 높아집니다. setData()
또는 setDataHandler()
메서드를 사용하여 Clipboard 객체에 데이터를 추가합니다.
표준 형식은 다음과 같습니다.
- BITMAP_FORMAT: BitmapData 객체(AIR만 해당)
- FILE_LIST_FORMAT: File 객체의 배열(AIR만 해당)
- HTML_FORMAT: HTML 형식 문자열 데이터
- TEXT_FORMAT: 문자열 데이터
- RICH_TEXT_FORMAT: 서식 있는 형식의 데이터를 포함하는 ByteArray
- URL_FORMAT: URL 문자열(AIR만 해당)
표준 형식의 이름에 대한 이러한 상수는 ClipboardFormats 클래스에서 정의됩니다.
운영 체제로의 전송이나 운영 체제로부터의 전송이 발생할 경우 ActionScript 데이터 유형과 기본 운영 체제 클립보드 유형 간에 표준 형식이 자동으로 변환됩니다.
응용 프로그램에서 정의한 형식을 사용하여 ActionScript 객체를 Clipboard 객체에 추가할 수 있습니다. 객체가 직렬화 가능하면 객체의 참조 및 복제본을 모두 사용할 수 있습니다. 객체 참조는 원본 응용 프로그램 내에서만 유효합니다.
특정 형식으로 전송할 정보를 변환하는 계산 비용이 높은 경우 변환을 수행하는 함수의 이름을 제공할 수 있습니다. 이 함수는 수신 구성 요소 또는 응용 프로그램에서 해당 형식을 읽을 때만 호출됩니다. setDataHandler()
메서드를 사용하여 Clipboard 객체에 지연 렌더링 함수를 추가합니다. 경우에 따라 드롭이 발생하기 전에 운영 체제가 함수를 호출하기도 합니다. 예를 들어 핸들러 함수를 사용하여 AIR 응용 프로그램에서 파일 시스템으로 드래그한 파일의 데이터를 제공할 때 드래그 동작이 AIR 응용 프로그램을 떠나는 즉시 운영 체제는 데이터 핸들러 함수를 호출하며, 이로 인해 일반적으로 파일 데이터를 다운로드하거나 만들 때 원치 않는 일시 정지가 발생합니다.
AIR 응용 프로그램 참고 사항: HTML 드래그 앤 드롭 및 복사하여 붙여넣기 이벤트에 대해 전달된 이벤트 객체에서 참조하는 클립보드 객체의 유형은 AIR Clipboard 객체의 유형과 다릅니다. JavaScript 클립보드 객체에 대한 자세한 내용은 AIR 개발자 안내서를 참조하십시오.
Flash Player 응용 프로그램 참고 사항: Flash Player 10에서 클립보드에서 붙여넣기 작업을 사용하려면 먼저 사용자 이벤트(예: 붙여넣기 명령에 대한 키보드 단축키 또는 컨텍스트 메뉴의 붙여넣기 명령에 대한 마우스 클릭)가 필요합니다. Clipboard.getData()
는 InteractiveObject가 수신했고 붙여넣기 이벤트를 실행하는 경우에만 클립보드의 내용을 반환합니다. 다른 상황에서는 Clipboard.getData()
호출이 제대로 수행되지 않습니다. AIR에서는 응용 프로그램 샌드박스 외부 내용에도 같은 제한 사항이 적용됩니다.
Linux에서는 AIR 응용 프로그램이 닫힐 때 클립보드 데이터가 유지되지 않습니다.
관련 API 요소
속성 | 정의 주체 | ||
---|---|---|---|
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
formats : Array [읽기 전용]
이 Clipboard 객체에 사용 가능한 데이터 형식의 이름을 포함하는 문자열의 배열입니다. | Clipboard | ||
generalClipboard : Clipboard [정적] [읽기 전용]
운영 체제 클립보드입니다. | Clipboard | ||
supportsFilePromise : Boolean [읽기 전용]
파일 프로미스 클립보드 형식이 클라이언트 시스템에서 지원되는지 여부를 나타냅니다. | Clipboard |
메서드 | 정의 주체 | ||
---|---|---|---|
빈 Clipboard 객체를 만듭니다. | Clipboard | ||
이 Clipboard 객체에서 데이터 표현을 모두 삭제합니다. | Clipboard | ||
지정된 형식에 대한 데이터 표현을 삭제합니다. | Clipboard | ||
지정된 형식의 데이터가 있을 경우 클립보드 데이터를 가져옵니다. | Clipboard | ||
지정된 형식의 데이터가 이 Clipboard 객체에 있는지 여부를 확인합니다. | Clipboard | ||
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | ||
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
지정된 데이터 형식으로 전송할 정보의 표현을 추가합니다. | Clipboard | ||
전송할 데이터를 생성하는 핸들러 함수에 대한 참조를 추가합니다. | Clipboard | ||
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | ||
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 프리미티브 값을 반환합니다. | Object |
formats | 속성 |
formats:Array
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.0 |
이 Clipboard 객체에 사용 가능한 데이터 형식의 이름을 포함하는 문자열의 배열입니다.
표준 형식의 이름에 대한 문자열 상수는 ClipboardFormats 클래스에서 정의됩니다. 응용 프로그램에서 정의한 다른 문자열도 형식 이름으로 사용되어 데이터를 객체로 전송할 수 있습니다.
구현
public function get formats():Array
관련 API 요소
예제 ( 예제 사용 방법 )
formats
배열을 읽습니다.
var availableFormats:Array = Clipboard.generalClipboard.formats;
generalClipboard | 속성 |
generalClipboard:Clipboard
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.0 |
운영 체제 클립보드입니다.
시스템 클립보드에 붙여넣은 모든 데이터는 다른 응용 프로그램에서 사용할 수 있습니다. 웹 브라우저에서 실행 중인 보안되지 않은 원격 코드가 여기에 포함될 수 있습니다.
참고: Flash Player 10 응용 프로그램에서 클립보드의 붙여넣기 작업을 처음 실행하는 경우 사용자 이벤트(예: 붙어넣기 명령에 대한 키보드 단축키 또는 컨텍스트 메뉴에서 붙여넣기 명령을 마우스로 클릭)가 필요합니다. Clipboard.getData()
는 InteractiveObject가 수신했고 붙여넣기 이벤트를 실행하는 경우에만 클립보드의 내용을 반환합니다. 다른 상황에서는 Clipboard.getData()
호출이 제대로 수행되지 않습니다. AIR에서는 응용 프로그램 샌드박스 외부 내용에도 같은 제한 사항이 적용됩니다.
generalClipboard
객체는 자동으로 생성됩니다. 이 속성에 Clipboard의 또 다른 인스턴스를 할당할 수 없습니다. 대신 getData()
및 setData()
메서드를 사용하여 기존 객체에서 데이터를 읽고 씁니다.
모든 형식으로 된 이전 데이터가 지워지지 않도록 클립보드에 새 데이터를 쓰기 전에 항상 클립보드를 지워야 합니다.
generalClipboard
객체는 AIR NativeDragManager에 전달할 수 없습니다. AIR 응용 프로그램에서 기본 드래그 앤 드롭 작업에 대해 새 Clipboard 객체를 만드십시오.
구현
public static function get generalClipboard():Clipboard
예제 ( 예제 사용 방법 )
import flash.desktop.ClipboardFormats; var copy:String = "A string to copy to the system clipboard."; Clipboard.generalClipboard.clear(); Clipboard.generalClipboard.setData(ClipboardFormats.TEXT_FORMAT, copy);
import flash.desktop.ClipboardFormats; var pasteData:String = Clipboard.generalClipboard.getData(ClipboardFormats.TEXT_FORMAT) as String;
supportsFilePromise | 속성 |
Clipboard | () | 생성자 |
public function Clipboard()
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.0 |
빈 Clipboard 객체를 만듭니다.
Adobe AIR에서 기본 드래그 앤 드롭 동작의 데이터를 유지하려면 Clipboard 객체를 만듭니다. Clipboard 객체는 하나의 드래그 앤 드롭 동작에 대해서만 사용할 수 있으며 다시 사용할 수 없습니다.
복사하여 붙여넣기 작업에 대해 Clipboard 객체를 만들지 마십시오. 대신에 단일 Clipboard.generalClipboard
객체를 사용하십시오.
오류
IllegalOperationError — Flash Player에서는 운영 체제 클립보드만 사용되어야 하므로 new Clipboard() 는 Flash Player에서 지원되지 않습니다. 운영 체제 클립보드를 사용하는 복사하여 붙여넣기 작업의 경우 새 클립보드 객체를 만드는 대신 Clipboard.generalClipboard 객체를 사용하십시오. AIR 응용 프로그램에서 오류는 발생하지 않습니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
참고: 운영 체제 클립보드를 사용하는 복사하여 붙여넣기 작업의 경우 새 클립보드를 만드는 대신 Clipboard.generalClipboard
객체를 사용하십시오.
import flash.desktop.Clipboard; var clipboard:Clipboard = new Clipboard();
clear | () | 메서드 |
public function clear():void
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.0 |
이 Clipboard 객체에서 데이터 표현을 모두 삭제합니다.
오류
SecurityError — 이 컨텍스트에서는 generalClipboard.clear()를 호출할 수 없습니다. Flash Player에서는 키 누르기 또는 마우스 클릭과 같은 사용자 이벤트를 처리하는 동안만 이 메서드를 성공적으로 호출할 수 있습니다. AIR에서는 이 제한이 응용 프로그램 보안 샌드박스 외부의 내용에만 적용됩니다.
|
예제 ( 예제 사용 방법 )
Clipboard.generalClipboard.clear();
clearData | () | 메서드 |
public function clearData(format:String):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.0 |
지정된 형식에 대한 데이터 표현을 삭제합니다.
매개 변수
format:String — 제거할 데이터 형식입니다.
|
오류
SecurityError — 이 컨텍스트에서는 generalClipboard.clearData()를 호출할 수 없습니다. Flash Player에서는 키 누르기 또는 마우스 클릭과 같은 사용자 이벤트를 처리하는 동안만 이 메서드를 성공적으로 호출할 수 있습니다. AIR에서는 이 제한이 응용 프로그램 보안 샌드박스 외부의 내용에만 적용됩니다.
|
예제 ( 예제 사용 방법 )
ClipboardFormats.TEXT_FORMAT
형식의 모든 데이터를 삭제합니다.
import flash.desktop.ClipboardFormats; Clipboard.generalClipboard.clearData(ClipboardFormats.TEXT_FORMAT);
getData | () | 메서드 |
public function getData(format:String, transferMode:String = "originalPreferred"):Object
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.0 |
지정된 형식의 데이터가 있을 경우 클립보드 데이터를 가져옵니다.
Flash Player에서는 getData()
를 paste
이벤트 핸들러에서 호출해야 합니다. AIR에서는 이 제한이 응용 프로그램 보안 샌드박스 외부의 내용에만 적용됩니다.
표준 데이터 형식에 액세스할 때는 데이터가 해당 Flash 데이터 유형의 새 객체로 반환됩니다.
응용 프로그램에서 정의된 형식에 액세스할 때는 transferMode
매개 변수의 값이 원본 객체에 대한 참조가 반환되는지 또는 원본 객체의 직렬화된 복사본이 포함된 익명 객체가 반환되는지를 결정합니다. originalPreferred
또는 clonePreferred
모드가 지정된 경우 원하는 버전을 사용할 수 없으면 Flash Player 또는 AIR에서 대체 버전을 반환합니다. originalOnly
또는 cloneOnly
모드가 지정되어 있으면 요청된 버전을 사용할 수 없는 경우 Flash Player 또는 AIR에서 null
을 반환합니다.
매개 변수
format:String — 반환할 데이터 형식입니다. 형식 문자열은 ClipboardFormats 클래스에 정의된 표준 이름 중 하나 또는 응용 프로그램에서 정의된 이름을 포함할 수 있습니다.
| |
transferMode:String (default = "originalPreferred ") — 응용 프로그램에서 정의된 데이터 형식에 액세스할 때 참조가 반환되는지 또는 직렬화된 복사본이 반환되는지를 지정합니다. 값은 ClipboardTransferMode 클래스에 정의된 이름 중 하나여야 합니다. 표준 데이터 형식에 대해서는 이 값이 무시되며 복사본이 항상 반환됩니다.
|
Object — 데이터 형식에 해당하는 유형의 객체입니다.
|
오류
Error — transferMode 는 ClipboardTransferMode 클래스에 정의된 이름 중 하나가 아닙니다.
| |
IllegalOperationError — 요청된 Clipboard 객체가 더 이상 범위에 없습니다(AIR만 해당).
| |
SecurityError — 클립보드에 대한 읽기 또는 쓰기가 이 컨텍스트에서 허용되지 않습니다. Flash Player에서는 이 메서드만 paste 이벤트 처리 중에 성공적으로 호출할 수 있습니다. AIR에서는 이 제한이 응용 프로그램 보안 샌드박스 외부의 내용에만 적용됩니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
import flash.desktop.ClipboardFormats; var pasteData:String = Clipboard.generalClipboard.getData(ClipboardFormats.TEXT_FORMAT) as String;
hasFormat | () | 메서드 |
public function hasFormat(format:String):Boolean
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
지정된 형식의 데이터가 이 Clipboard 객체에 있는지 여부를 확인합니다.
표준 형식 이름을 참조하려면 ClipboardFormats 클래스에 있는 상수를 사용합니다.
매개 변수
format:String — 확인할 형식 유형입니다.
|
Boolean — 지정된 형식의 데이터가 있을 경우 true 입니다.
|
오류
IllegalOperationError — 요청된 Clipboard 객체가 더 이상 범위에 없습니다.
| |
SecurityError — 클립보드에 대한 읽기 또는 쓰기가 이 컨텍스트에서 허용되지 않습니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
if(Clipboard.generalClipboard.hasFormat(ClipboardFormats.TEXT_FORMAT)){ //do something }
setData | () | 메서드 |
public function setData(format:String, data:Object, serializable:Boolean = true):Boolean
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.0 |
지정된 데이터 형식으로 전송할 정보의 표현을 추가합니다.
Adobe AIR의 응용 프로그램 샌드박스에서는 setData()
를 언제든지 호출할 수 있습니다. 다른 컨텍스트에서는 키 누르기나 마우스 클릭과 같은 사용자 생성 이벤트에 대한 응답으로만 setData()
를 호출할 수 있습니다.
같은 정보의 여러 가지 표현을 서로 다른 형식으로 클립보드에 추가할 수 있습니다. 그러면 다른 구성 요소나 응용 프로그램이 사용 가능한 데이터를 더욱 잘 활용할 수 있습니다. 예를 들어 이미지를 이미지 편집 응용 프로그램에서 사용할 비트맵 데이터로, URL로, 기본 파일 시스템에 전송할 인코딩된 PNG 파일로 추가할 수 있습니다.
데이터 매개 변수는 지정된 형식에 대해 적절한 데이터 유형이어야 합니다.
형식 | 유형 | 설명 |
---|---|---|
ClipboardFormats.TEXT_FORMAT | 문자열 | 문자열 데이터 |
ClipboardFormats.HTML_FORMAT | 문자열 | HTML 문자열 데이터 |
ClipboardFormats.URL_FORMAT | 문자열 | URL 문자열(AIR만 해당) |
ClipboardFormats.RICH_TEXT_FORMAT | ByteArray | 서식 있는 형식의 데이터 |
ClipboardFormats.BITMAP_FORMAT | BitmapData | 비트맵 데이터(AIR만 해당) |
ClipboardFormats.FILE_LIST_FORMAT | File 배열 | 파일 배열(AIR만 해당) |
사용자 정의 형식 이름 | 모두 | 객체 참조 및 직렬화된 복제본 |
사용자 정의 형식 이름은 "air:" 또는 "flash:"로 시작될 수 없습니다. 사용자 정의 형식을 사용할 때 이름 충돌을 방지하려면 응용 프로그램 ID 또는 패키지 이름을 형식의 접두어로 사용하는 것이 좋습니다(예: "com.example.applicationName.dataPacket").
응용 프로그램 내에서 또는 응용 프로그램 간에 전송할 때는 serializable
매개 변수가 참조 및 복사본을 모두 사용할 수 있는지 아니면 객체에 대한 참조만 사용할 수 있는지를 결정합니다. 데이터 객체의 참조 및 복사본을 모두 사용할 수 있도록 하려면 serializable
을 true
로 설정하십시오. 객체 참조만 사용할 수 있도록 하려면 serializable
을 false
로 설정하십시오. 객체 참조는 현재 응용 프로그램 내에서만 유효합니다. 따라서 serializable
을 false
로 설정하면 다른 Flash Player 또는 AIR 응용 프로그램에서도 해당 형식의 데이터를 사용할 수 없습니다. 구성 요소에서는 해당 형식의 데이터에 액세스할 때 적절한 클립보드 전송 모드를 설정하여 객체의 참조 또는 복사본을 가져올 수 있습니다.
참고: 데이터를 붙여넣거나 지원되는 응용 프로그램 외부로 드래그할 때는 표준 형식이 항상 기본 형식으로 변환됩니다. 따라서 serializable
매개 변수의 값은 Flash 기반 응용 프로그램이 아닌 응용 프로그램으로 전달되는 표준 형식 데이터의 가용성에는 영향을 주지 않습니다.
한 형식에 대해 데이터의 렌더링을 지연하려면 setDataHandler()
메서드를 대신 사용하십시오. setData()
및 setDataHandler()
메서드를 모두 사용하여 같은 형식 이름으로 데이터 표현을 추가하는 경우에는 핸들러 함수가 호출되지 않습니다.
참고: Mac OS에서 format
매개 변수를 ClipboardFormats.URL_FORMAT
으로 설정하면 유효한 URL일 때만 URL이 전송됩니다. 그렇지 않을 경우 Clipboard 객체가 비어 있게 되며 getData()
를 호출하면 null
이 반환됩니다.
매개 변수
format:String — 데이터의 형식입니다.
| |
data:Object — 추가할 정보입니다.
| |
serializable:Boolean (default = true ) — 직렬화(및 비직렬화)할 수 있는 객체에 대해 true 를 지정합니다.
|
Boolean — 데이터가 제대로 설정되었으면 true 이고, 그렇지 않으면 false 입니다. Flash Player에서는 format 이 ClipboardFormats의 지원되지 않는 멤버일 경우 false 를 반환합니다. Flash Player는 ClipboardFormats.URL_FORMAT , ClipboardFormats.FILE_LIST_FORMAT , ClipboardFormats.FILE_PROMISE_LIST_FORMAT 또는 ClipboardFormats.BITMAP_FORMAT 을 지원하지 않습니다.
|
오류
IllegalOperationError — 요청된 Clipboard 객체가 더 이상 범위에 없습니다(드래그 앤 드롭 작업을 위해 만들어진 클립보드에서 발생할 수 있음).
| |
SecurityError — 클립보드에 대한 읽기 또는 쓰기가 이 컨텍스트에서 허용되지 않습니다. Flash Player에서는 키 누르기 또는 마우스 클릭과 같은 사용자 이벤트를 처리하는 동안만 이 메서드를 성공적으로 호출할 수 있습니다. AIR에서는 이 제한이 응용 프로그램 보안 샌드박스 외부의 내용에만 적용됩니다.
| |
TypeError — format 또는 data 가 null 입니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
import flash.desktop.ClipboardFormats; var htmlString:String = "<html><body>Body content</body></html>"; Clipboard.generalClipboard.setData(ClipboardFormats.TEXT_FORMAT, urlString); Clipboard.generalClipboard.setData(ClipboardFormats.HTML_FORMAT, urlString);
setDataHandler | () | 메서드 |
public function setDataHandler(format:String, handler:Function, serializable:Boolean = true):Boolean
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.0 |
전송할 데이터를 생성하는 핸들러 함수에 대한 참조를 추가합니다.
핸들러 함수를 사용하여 데이터가 실제로 액세스될 때까지 데이터의 생성 또는 렌더링을 지연합니다.
핸들러 함수는 지정된 형식에 대해 적절한 데이터 유형을 반환해야 합니다.
형식 | 반환 유형 |
---|---|
ClipboardFormats.TEXT_FORMAT | 문자열 |
ClipboardFormats.HTML_FORMAT | 문자열 |
ClipboardFormats.URL_FORMAT | String (AIR만 해당) |
ClipboardFormats.RICH_TEXT_FORMAT | ByteArray |
ClipboardFormats.BITMAP_FORMAT | BitmapData (AIR만 해당) |
ClipboardFormats.FILE_LIST_FORMAT | File 배열(AIR만 해당) |
ClipboardFormats.FILE_PROMISE_LIST_FORMAT | File 배열(AIR만 해당) |
사용자 정의 형식 이름 | void가 아님 |
핸들러 함수는 지정된 형식의 데이터를 읽을 때만 호출됩니다. 경우에 따라 드롭이 발생하기 전에 운영 체제가 함수를 호출하기도 합니다. 예를 들어 핸들러 함수를 사용하여 AIR 응용 프로그램에서 파일 시스템으로 드래그한 파일의 데이터를 제공할 때 드래그 동작이 AIR 응용 프로그램을 떠나는 즉시 운영 체제는 데이터 핸들러 함수를 호출하며, 이로 인해 일반적으로 파일 데이터를 다운로드하거나 만들 때 원치 않는 일시 정지가 발생합니다. 대신 URLFilePromise를 사용하여 이러한 작업을 수행할 수 있습니다.
응용 프로그램에서 데이터 보호 조치를 취하지 않는 한, 기본 데이터가 변경되어 핸들러가 추가되었을 때와 데이터를 읽을 때 서로 다를 수 있습니다. 클립보드에서 핸들러 함수로 표시되는 데이터를 두 번 이상 읽을 때 발생하는 비헤이비어는 보장할 수 없습니다. 클립보드는 첫 번째 함수에서 생성된 데이터를 반환하거나 해당 함수를 다시 호출할 수 있습니다. 둘 모두 의존할 수 있는 비헤이비어는 아닙니다.
Adobe AIR의 응용 프로그램 샌드박스에서는 setDataHandler()
를 언제든지 호출할 수 있습니다. 다른 컨텍스트에서는 키 누르기나 마우스 클릭과 같은 사용자 생성 이벤트에 대한 응답으로만 setDataHandler()
를 호출할 수 있습니다.
이 Clipboard 객체에 데이터를 직접 추가하려면 setData()
메서드를 대신 사용하십시오. setData()
및 setDataHandler()
메서드를 모두 같은 형식 이름으로 호출하는 경우에는 핸들러 함수가 호출되지 않습니다.
참고: Mac OS에서 format
매개 변수를 ClipboardFormats.URL_FORMAT
으로 설정하면 핸들러 함수가 유효한 URL을 반환할 때만 URL이 전송됩니다. 그렇지 않을 경우 Clipboard 객체가 비어 있게 되며 getData()
를 호출하면 null
이 반환됩니다.
매개 변수
format:String — 전송할 데이터를 반환하는 함수입니다.
| |
handler:Function — 데이터의 형식입니다.
| |
serializable:Boolean (default = true ) — handler 에 의해 반환되는 객체를 직렬화(및 비직렬화)할 수 있으면 true 를 지정합니다.
|
Boolean — 핸들러가 설정되었으면 true 이고, 그렇지 않으면 false 입니다.
|
오류
TypeError — format 또는 handler 가 null 입니다.
| |
IllegalOperationError — 요청된 Clipboard 객체가 더 이상 범위에 없습니다(AIR만 해당).
| |
SecurityError — 클립보드에 대한 읽기 또는 쓰기가 이 컨텍스트에서 허용되지 않습니다. Flash Player에서는 키 누르기 또는 마우스 클릭과 같은 사용자 이벤트를 처리하는 동안만 이 메서드를 성공적으로 호출할 수 있습니다. AIR에서는 이 제한이 응용 프로그램 보안 샌드박스 외부의 내용에만 적용됩니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
import flash.desktop.ClipboardFormats; Clipboard.generalClipboard.setDataHandler(ClipboardFormats.TEXT_FORMAT, randomNumberGenerator); public function randomNumberGenerator():String{ return Math.random().toString(); }
- 데이터(이 경우 문자열)를
Clipboard.generalClipboard
에 작성합니다. Clipboard.generalClipboard
에서 클립보드 내용을 읽습니다.
참고: 클립보드 데이터에 액세스할 때 적용되는 보안 제한 사항으로 인해 이 예제는 Flash Player에서 작동하지 않습니다. Flash Player에서는 Clipboard 객체의 getData()
메서드만 paste
이벤트 핸들러에서 호출할 수 있습니다.
package { import flash.display.Sprite; import flash.desktop.Clipboard; import flash.desktop.ClipboardFormats; import flash.desktop.ClipboardTransferMode; public class ClipboardExample extends Sprite { public function ClipboardExample() { var sally:String = "Sally"; var person:String; copy(sally); person = paste(); trace(person); //traces: "Sally" } private function copy(text:String):void { Clipboard.generalClipboard.clear(); Clipboard.generalClipboard.setData(ClipboardFormats.TEXT_FORMAT, text); } private function paste():String { if(Clipboard.generalClipboard.hasFormat(ClipboardFormats.TEXT_FORMAT)) { return String(Clipboard.generalClipboard.getData(ClipboardFormats.TEXT_FORMAT)); } else { return null; } } } }
Tue Jun 12 2018, 03:17 PM Z