6

I'm writing a Google Chrome extension and I want to copy some text in clipboard in a content script. I tried selecting it and then document.execCommand('copy') - it doesn't work. I don't want Flash, because it's not easy and elegant way to achieve that. I tried background page and <input> - it doesn't work.

Is there any working, elegant and simple way to copy text to clipboard in Chrome extension? It may also use jQuery.

Regards

m4tx
  • 4,139
  • 5
  • 37
  • 61
  • As a rule of thumb, javascript does'nt have access to the clipboard for security reasons, and since extensions are written with "web languages" I'm guessing it's the same there, but I could be wrong as extensions are downloaded and installed into a browser that would in fact have access to OS specific stuff, like the clipboard. – adeneo Dec 09 '12 at 13:03
  • 1
    @adeneo, yeah, pure JavaScript cannot access clipboard. But Chrome extension can - it just need permission: https://developer.chrome.com/extensions/permissions.html#manifest . – m4tx Dec 09 '12 at 13:10

1 Answers1

6

Here's some working (Coffeescript) code that does copy / paste: https://github.com/philc/vimium/blob/master/lib/clipboard.coffee

Note that the code above runs in the background page; there was a bug a while back which broke execCommand in content scripts, and I'm not sure if that was ever fixed.

int3
  • 12,861
  • 8
  • 51
  • 80