Разработчики браузера Firefox, как и их коллеги из других интернет-компаний, прикладывают усилия, чтобы снизить зависимость от ущербной технологии Flash. Для этого они реализуют на HTML5 те уникальные функции, которые раньше были только на Flash, чтобы они стали частью открытого всеобщего стандарта. Одна из таких функций — кнопка для копирования текста в буфер обмена.
Стандартные кнопки «Copy» есть на многих сайтах интернета. И везде они реализованы только на Flash. К сожалению, штатные средства Javascript не позволяют нажатием мыши скопировать текст в буфер обмена. Поэтому в браузерах с отключенным Flash при посещении таких сайтов отображается некрасивый серый прямоугольник на месте флэш-кнопки.
Например, на сайте Guthub на флэше сделана кнопка “Clone URL”.
Иначе никак не получится скопировать текст из формы. Аналогичная проблема наблюдается повсеместно. Но скоро этому придет конец. Mozilla внедрила в браузер Firefox 41 поддержку команд copy
и cut
через document.execCommand. То же самое сделали разработчики IE и Chrome.
Команды copy
и cut
вызываются только в ответ на действие пользователя, такое как нажатие кнопки мыши. Вот пример базовой реализации на веб-странице.
// button which we are attaching the event to
var button = ...;
// input containing the text we want to copy
var input = ...;
button.addEventListener("click", function(event) {
event.preventDefault();
// Select the input node's contents
input.select();
// Copy it to the clipboard
document.execCommand("copy");
});
Cейчас Firefox 41 в бета-версии, но на днях выйдет стабильный релиз.