Буфер обмена, совместимый с Mozilla Firefox и Internet Explorer, в ASP.NET

Мне нужно скопировать текст из текстового поля в буфер обмена с ASP.NET. Мне нужен код, сравнимый с Mozilla Firefox и IE.

11.12.2008 10:34:11
2 ОТВЕТА
РЕШЕНИЕ

Копирование буфера обмена Internet Explorer тривиально:

// set the clipboard
var x = 'Whatever you want on the clipboard';
window.clipboardData.setData('Text',x);

// get the clipboard data
window.clipboardData.getData('Text');

Firefox, совсем не тривиально. На самом деле это невозможно с чистым JS, если у вас нет подписанных скриптов и т. Д. Однако есть обходной путь, использующий объект Flash. Читайте об этом здесь

2
11.12.2008 10:41:36

Для браузеров не IE используйте этот сценарий, который используется во всем мире. Google для файла "_clipboard.swf". (хотя этот код НЕ будет работать на новейшей Flash 10 из-за соображений безопасности)

var flashcopier = 'flashcopier';

     if(!document.getElementById(flashcopier)) {
        var divholder = document.createElement('div');
        divholder.id = flashcopier;
        document.body.appendChild(divholder);
     }

     document.getElementById(flashcopier).innerHTML = '';
     var divinfo = '<embed src="_clipboard.swf" FlashVars="clipboard='+encodeURIComponent('YOUR_VALUE_FOR_CLIPBOARD')+'" width="0" height="0" type="application/x-shockwave-flash"></embed>';
     document.getElementById(flashcopier).innerHTML = divinfo;
0
11.12.2008 11:06:49