Возможно ли поместить атрибут тега в буфер обмена?

218
23 мая 2017, 03:32

Есть <img id=...>. Нужно базовыми средствами js поместить id этого изображения в буфер по ctrl+click. Это реально? Если да, то как?

На основании полученного ответа сделал такую универсальную функцию:

function Copy(event, value){
    if (event.ctrlKey){
        var copy_buffer = document.createElement('div');
        copy_buffer.textContent = value;
        copy_buffer.style.position = 'absolute';
        copy_buffer.style.left = '-1000px';
        copy_buffer.style.top = '-1000px';
        document.body.appendChild(copy_buffer);
        var range = document.createRange();
        range.selectNodeContents(copy_buffer);
        var selection = window.getSelection();
        selection.removeAllRanges();
        selection.addRange(range);
        document.execCommand('copy');
        document.body.removeChild(copy_buffer);
    }
}
<img onclick="Copy(event, this.name);" ...

Ещё раз спасибо за подсказку!

Answer 1

http://caniuse.com/#feat=clipboard

document.getElementById("smth").addEventListener("click", function (event) { 
  var cp = document.getElementById("cp"); 
  cp.textContent = event.target.id; 
   
  var range = document.createRange(); 
  range.selectNodeContents(cp); 
 
  var selection = window.getSelection();         
  selection.removeAllRanges(); 
  selection.addRange(range); 
   
  document.execCommand('copy'); 
})
#cp { 
  position: absolute; 
  left: -1000px; 
  top: -1000px; 
}
<img id="smth" src="//www.gravatar.com/avatar/cbfaff96665b7567defe1b34a883db8b?s=128&d=identicon&r=PG" /> 
<div id="cp"></div>

READ ALSO
Добавка в script

Добавка в script

У Bootstrap при открытии модального окна часть этого скрипта подставляет padding-right:(x)px , а при закрытии убирает егоКак сделать чтобы дополнительно...

245
не видит функцию javascript

не видит функцию javascript

Прошу обратить внимание на этот код

314
Цикл по массиву объектов

Цикл по массиву объектов

Сервер отдает JSON c массивом объектов, перебираю их обычным for

213
Именованное свойсто массива JavaScript

Именованное свойсто массива JavaScript

Насколько мне известно, массив - это список значений доступ к которым осуществляется по числовому индексуНедавно натолкнулся на такой код:

207