Буфер обмена, совместимый с Mozilla Firefox и Internet Explorer, в ASP.NET - PullRequest
1 голос
/ 11 декабря 2008

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

Ответы [ 2 ]

2 голосов
/ 11 декабря 2008

Копирование в буфер обмена 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. Читайте об этом здесь

0 голосов
/ 11 декабря 2008

Для браузеров, отличных от 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;
...