diff --git a/src/handlers/Clipboard.js b/src/handlers/Clipboard.js index 5875ff804b..cfc77c338f 100644 --- a/src/handlers/Clipboard.js +++ b/src/handlers/Clipboard.js @@ -50,11 +50,24 @@ function copyHandler (ev) { */ function pasteHandler(ev, term) { ev.stopPropagation(); - if (ev.clipboardData) { - var text = ev.clipboardData.getData('text/plain'); + + var dispatchPaste = function(text) { term.handler(text); term.textarea.value = ''; return term.cancel(ev); + }; + + var userAgent = window.navigator.userAgent.toLowerCase(); + if (userAgent.match(/msie|MSIE/) || userAgent.match(/(T|t)rident/)) { + if (window.clipboardData) { + var text = window.clipboardData.getData('Text'); + dispatchPaste(text); + } + } else { + if (ev.clipboardData) { + var text = ev.clipboardData.getData('text/plain'); + dispatchPaste(text); + } } }