Разработчики браузера Firefox, как и их коллеги из других интернет-компаний, прикладывают усилия, чтобы снизить зависимость от ущербной технологии Flash. Для этого они реализуют на HTML5 те уникальные функции, которые раньше были только на Flash, чтобы они стали частью открытого всеобщего стандарта. Одна из таких функций — кнопка для копирования текста в буфер обмена.

Стандартные кнопки "Copy" есть на многих сайтах интернета. И везде они реализованы только на Flash. К сожалению, штатные средства Javascript не позволяют нажатием мыши скопировать текст в буфер обмена. Поэтому в браузерах с отключенным Flash при посещении таких сайтов отображается некрасивый серый прямоугольник на месте флэш-кнопки.

Например, на сайте Guthub на флэше сделана кнопка “Clone URL”.

003

Иначе никак не получится скопировать текст из формы. Аналогичная проблема наблюдается повсеместно. Но скоро этому придет конец. 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 в бета-версии, но на днях выйдет стабильный релиз.

2 комментария

  1. Аватар

    Int

    16.09.2015 at 17:48

    А что ещё есть в этом execCommand?

Оставить мнение