Итак, сегодня я попытался использовать jQuery (и обычный JavaScript), чтобы автоматизировать процесс копирования в буфер обмена, который, как вы все знаете, можно легко сделать, щелкнув правой кнопкой мыши> копировать или нажав CTRL + C. Как правило, копирование в буфер обмена заключается в том, что вы можете просто вызвать команду exec copy, чтобы получить текущий выбор в буфер обмена. Тем не менее, кажется, единственный браузер, который поддерживает это IE. Теперь у нас есть обходной путь, чтобы использовать Flash SWF-файл для запуска и таким образом получить выделение в буфер обмена. Есть плагины jQuery, которые вы можете использовать, и, как я вижу, у вас есть следующие четыре варианта
Примечание. Мой совет — использовать 3. Обходное решение для копирования текста, поскольку может быть болезненно пытаться заставить другие плагины работать.
1. zClip
zClip работает только с гиперссылками.
function copy (str) { //for IE ONLY! window.clipboardData.setData('Text',str); }
2. Нулевой буфер обмена
Довольно изящный плагин буфера обмена: Страница загрузки .
function init() { clip = new ZeroClipboard.Client(); clip.setHandCursor( true ); clip.addEventListener('load', my_load); clip.addEventListener('mouseOver', my_mouse_over); clip.addEventListener('complete', my_complete); clip.glue( 'd_clip_button' ); }
3. Копирование текста Обходной путь
JQUERY CODE
$(document).ready(function(){ //store nodepath value to clipboard (copy to top of page) $('li').live('click', function(){ //console.log($('#pathtonode').html()+ " copied to window"); var path = $('#pathtonode').html(); path = path.replace(/ > /g,"."); //console.log(path); addtoppath(path); }); //initially hide copy window $('#toppathwrap').hide(); function addtoppath(path) { //console.log(path); $('#copypath').val(path); $('#toppathwrap').show(); $('#copypath').focus(); $('#copypath').select(); } });
И для динамических элементов DOM:
$('#copypath', 'body') .find('a') .livequery('click', function() { $(this) .blur(); //console.log('copied to copy window'); var nodetext = $('#id-of-element-to-copy').html(); $('#copypath input').focus(); $('#copypath input').select(); return false; });
HTML-код
CSS-код
#toppathwrap { position:fixed; top:0px; right:0px; background-color:#F2F1E8; padding:5px; display:none; }
4. Дэвид Уолш Учебник
//javascript copy function function copy(inElement) { if (inElement.createTextRange) { var range = inElement.createTextRange(); if (range && BodyLoaded==1) range.execCommand('Copy'); } else { 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 = ' '; document.getElementById(flashcopier).innerHTML = divinfo; } }