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

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


person David Bonnici    schedule 11.12.2008    source источник


Ответы (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. Читайте об этом здесь

person Strelok    schedule 11.12.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;
person sabiland    schedule 11.12.2008