I had this same problem with Chrome and other browsers recently. However, recently, I found this code works in a contenteditable field in certain browsers:
clipboard = e.originalEvent.clipboardData;
clipboard.setData('text/plain', plainData);
clipboard.setData('text/html', htmlData);
NOTE: e in this case is the copy and/or cut event. This event fires and is retrievable in an onCopy()
or onCut()
action.
This code is confirmed to work in the latest versions of the following browsers:
- Chrome (PCs/Macs and Android)
- Android 4.4+ WebView (as long as you update from the Play Store) -> good news for Android Devs
- Firefox
- Safari (Mac only)
Internet Explorer seems to work with window.clipboardData.setData
instead, but keep in mind that the IE clipboard will only accept 'text'
and 'url'
data.
While the following browsers can access the system clipboard object, these are unable to set data into the clipboard using clipboard.setData
:
- MS Edge
- gives an
UntrustedDragDrop
object into the clipboard instead...
- also, setData returns true... when it doesn't work. setData returns undefined in all other browsers
- Android WebView -> below 4.4
- iOS Safari and WebView - yay iOS!