операция копирования может быть обработана с помощью пасты события:Как я должен, согласно W3C, поместить холст в буфер обмена?
div.addEventListener("copy", function() { ... });
event
является отменяемым и наряду с другой информацией событий обеспечивает DataTransfer
объекта:
var items = event.clipboardData;
Этот объект имеет метод .setData
, который должен позволить вам добавлять данные в буфер обмена. К несчастью, я не могу понять, как это работает. Documentation is broken (если вы нажмете на setData
, он перейдет на неправильную страницу).
Я пытался что-то вроде этого:
function copy(event) {
var items = (event.clipboardData || event.originalEvent.clipboardData);
items.setData("image/png", _this.editor.selection.getSelectedImage());
event.preventDefault();
event.cancelBubble = true;
return false;
}
Но согласно MDN, второй параметр должен быть строкой тоже.
Как я могу поместить данные в буфер обмена в соответствии со спецификацией (никаких функций, специфичных для браузера)?