diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/clipboard.js | 33 |
1 files changed, 24 insertions, 9 deletions
diff --git a/lib/clipboard.js b/lib/clipboard.js index 1d414892..b6d3940e 100644 --- a/lib/clipboard.js +++ b/lib/clipboard.js @@ -1,14 +1,29 @@ var Clipboard = { + _createTextArea: function() { + var textArea = document.createElement("textarea"); + textArea.style.position = "absolute"; + textArea.style.left = "-100%"; + return textArea; + }, + // http://groups.google.com/group/chromium-extensions/browse_thread/thread/49027e7f3b04f68/f6ab2457dee5bf55 copy: function(data) { - var textArea = document.createElement("textarea"); - textArea.style.position = "absolute"; - textArea.style.left = "-100%"; - textArea.value = data; + var textArea = this._createTextArea(); + textArea.value = data; + + document.body.appendChild(textArea); + textArea.select(); + document.execCommand("Copy"); + document.body.removeChild(textArea); + }, - document.body.appendChild(textArea); - textArea.select(); - document.execCommand("Copy"); - document.body.removeChild(textArea); - } + paste: function() { + var textArea = this._createTextArea(); + document.body.appendChild(textArea); + textArea.focus(); + document.execCommand("Paste"); + var rv = textArea.value; + document.body.removeChild(textArea); + return rv; + } }; |
