Clipboard

번역이 완료되지 않았습니다. Please help translate this article from English

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

clipboard는 데이터 저장 또는 전송을 위한 짧은 기간동안 사용하는 데이터 버퍼 입니다.  documents 와 applications 양쪽에서 사용 가능합니다.  It is usually implemented as an anonymous, temporary data buffer, sometimes called the paste buffer, that can be accessed from most or all programs within the environment via defined programming interfaces.

A typical application accesses clipboard functionality by mapping user input such as keybindingsmenu selections, etc. to these interfaces.

Clipboard API 의 Clipboard 인터페이스는 시스템 클립보드로부터 텍스트 및 데이터를 읽거나 시스템 클립보드에 쓰기 위한 인터페이스를 지원합니다.

The Clipboard API can be used to implement cut, copy, and paste features within a web application.

The system clipboard is exposed through the global Navigator.clipboard property.

Calls to the methods of the Clipboard object will not succeed if the user hasn't granted the needed permissions using the Permissions API and the "clipboard-read" or "clipboard-write" permission as appropriate.

Note: In reality, at this time browser requirements for access to the clipboard vary significantly. Please see the section Clipboard availability for details.

All of the Clipboard API methods operate asynchronously; they return a Promise which is resolved once the clipboard access has been completed. The promise is rejected if clipboard access is denied.

Methods

Clipboard 는 EventTarget 인터페이스를 기반으로 하고 있으며, 해당 인터페이스의 method를 포함합니다.

read()
클립보드로부터 임의의 데이터(이미지와 같은)를 요청하며, returning a Promise. When the data has been retrieved, the promise is resolved with a DataTransfer object that provides the data.
readText()
시스템 클립보드로부터 텍스트를 읽는다. returns a Promise which is resolved with a DOMString containing the clipboard's text once it's available.
write()
시스템 클립보드에 예를 들어 이미지들과 같은 데이터를 쓴다. 이 비동기 작업은 Promise를 반환된 Promise를 resolve 함으로써 작업이 종료되었다는 사실을 알립니다.
writeText()
시스템 클립보드에 텍스트를 쓰며, returning a Promise which is resolved once the text is fully copied into the clipboard.

Clipboard availability

The asynchronous clipboard API is a relatively recent addition, and the process of implementing it in browsers is not yet complete. Due to both potential security concerns and technical complexities, the process of integrating this API is happening gradually in most browsers.

For example, Firefox does not yet support the "clipboard-read" and "clipboard-write" permissions, so access to the methods that access and change the contents of the clipboard are restricted in other ways.

For WebExtensions, you can request the clipboardRead and clipboardWrite permissions to be able to use clipboard.readText() and clipboard.writeText(). Content scripts applied on HTTP sites do not have access to the clipboard object. See extensions in Firefox 63.

In addition, read() and write() are disabled by default and require changing a preference to enable them. Check the compatibility tables for each method before using it.

Specifications

Specification Status Comment
Clipboard API and events
The definition of 'Clipboard' in that specification.
Working Draft Initial definition.

Browser Compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
ClipboardChrome Full support 66Edge Full support 79Firefox Full support 63IE No support NoOpera Full support 53Safari Full support 13.1WebView Android Full support 66Chrome Android Full support 66Firefox Android Full support 63Opera Android Full support 47Safari iOS Full support 13.4Samsung Internet Android Full support 9.0
readChrome Partial support 76
Notes
Partial support 76
Notes
Notes From version 76, the image/png MIME type is supported.
Partial support 66
Notes
Notes Images are not supported.
Edge Full support 79Firefox Full support 63
Notes Disabled
Full support 63
Notes Disabled
Notes Currently works just like readText(); non-text content is not currently supported.
Disabled From version 63: this feature is behind the dom.events.asyncClipboard.dataTransfer preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera Full support 63Safari Full support 13.1WebView Android Partial support 84
Notes
Partial support 84
Notes
Notes From version 84, the image/png MIME type is supported.
Partial support 66
Notes
Notes Images are not supported.
Chrome Android Partial support 84
Notes
Partial support 84
Notes
Notes From version 84, the image/png MIME type is supported.
Partial support 66
Notes
Notes Images are not supported.
Firefox Android Full support 63
Notes Disabled
Full support 63
Notes Disabled
Notes Currently works just like readText(); non-text content is not currently supported.
Disabled From version 63: this feature is behind the dom.events.asyncClipboard.dataTransfer preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android Full support 54Safari iOS Full support 13.4Samsung Internet Android Full support 12.0
readTextChrome Full support 66Edge Full support 79Firefox Full support 63
Notes
Full support 63
Notes
Notes Firefox only supports reading the clipboard in browser extensions, using the "clipboardRead" extension permission.
IE No support NoOpera Full support 53Safari Full support 13.1WebView Android Full support 66Chrome Android Full support 66Firefox Android Full support 63
Notes
Full support 63
Notes
Notes Firefox only supports reading the clipboard in browser extensions, using the "clipboardRead" extension permission.
Opera Android Full support 47Safari iOS Full support 13.4Samsung Internet Android Full support 9.0
writeChrome Full support 66
Notes
Full support 66
Notes
Notes From version 76, the image/png MIME type is supported.
Edge Full support 79Firefox Full support 63
Notes Disabled
Full support 63
Notes Disabled
Notes Currently works exactly like writeText(), including the availability limitations currently imposed by Firefox.
Disabled From version 63: this feature is behind the dom.events.asyncClipboard.dataTransfer preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera Full support 63Safari Full support 13.1WebView Android Full support 66
Notes
Full support 66
Notes
Notes From version 84, the image/png MIME type is supported.
Chrome Android Full support 66
Notes
Full support 66
Notes
Notes From version 84, the image/png MIME type is supported.
Firefox Android Full support 63
Notes Disabled
Full support 63
Notes Disabled
Notes Currently works exactly like writeText(), including the availability limitations currently imposed by Firefox.
Disabled From version 63: this feature is behind the dom.events.asyncClipboard.dataTransfer preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android Full support 54Safari iOS Full support 13.4Samsung Internet Android Full support 12.0
writeTextChrome Full support 66Edge Full support 79Firefox Full support 63
Notes
Full support 63
Notes
Notes Writing to the clipboard is available without permission in secure contexts and browser extensions, but only from user-initiated event callbacks. Browser extensions with the "clipboardWrite" permission can write to the clipboard at any time.
IE No support NoOpera Full support 53Safari Full support 13.1WebView Android Full support 66Chrome Android Full support 66Firefox Android Full support 63
Notes
Full support 63
Notes
Notes Writing to the clipboard is available without permission in secure contexts and browser extensions, but only from user-initiated event callbacks. Browser extensions with the "clipboardWrite" permission can write to the clipboard at any time.
Opera Android Full support 47Safari iOS Full support 13.4Samsung Internet Android Full support 9.0

Legend

Full support  
Full support
Partial support  
Partial support
No support  
No support
See implementation notes.
See implementation notes.
User must explicitly enable this feature.
User must explicitly enable this feature.

See also