У меня есть расширение веб-браузера Firefox, которое должно генерировать кнопки, которые копируют ссылку в буфер обмена. В моем сценарии для содержания плагина, у меня есть:Firefox webextension не копирует в буфер
button.onclick = function() {
var link = window.location.href.replace(/#[0-9a-zA-Z_]+$/, '') + '#' + id;
var txtToCopy = document.createElement('input');
txtToCopy.value = link;
txtToCopy.select();
console.log(txtToCopy.value);
var res = document.execCommand('copy');
console.log(res);
}
Как вы можете видеть, у меня есть это протоколирование значение Я пытаюсь скопировать, а также результат, возвращаемый из execCommand
. И то, что я ожидаю.
"https://thing.example.com#12345" true
Однако, как представляется, не на самом деле копировать текст в буфер обмена. Согласно MDN, мне не нужны никакие дополнительные разрешения, так как это происходит в событии, и ответ от execCommand
делает мне все, что нужно для настройки.
Я работаю на Ubuntu 16.04, Firefox 51.0.1, с включенными e10s. Может быть, e10s - моя проблема, даст обновление.
Это было (почти)! Одно небольшое изменение, select() должно произойти после добавления к документу, по-видимому. благодаря – Nick