Копирование в буфер обмена средствами JS. Почему не работает скрипт?

Всем доброго времени суток!
Нашел в блоге Hacks Mozilla вот такую статью https://hacks.mozilla.org/2015/09/flash-free-clipb... о том что в 41 версии Firefox будет реализована возможность cut/copy средствами JS.
В этой же таблице https://developer.mozilla.org/en-US/docs/Web/API/D... сказано что уже начиная с 42 версии Chrome эта функция работает.
Ну а теперь собственно к сути.
В статье указан пример кода:
// 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");
});

Ну и я решил попробовать. Вот что у меня получилось (не получилось):
HTML
<!DOCTYPE html>
<html>
<head>
	<title></title>
	<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.3.js"></script>
</head>
<body>
<textarea name="box-content" id="box-content"></textarea>
<br/>
<input type="button" id="copyID" value="Copy to Clipboard" />
<script type="text/javascript" src="main.js"></script>
</body>
</html>

Main.js
var button = document.getElementById("copyID");
var input =  document.getElementById("box-content").value;
button.addEventListener("click", function(event) {
  event.preventDefault();
  // Select the input node's contents
  input.select();
  // Copy it to the clipboard
  document.execCommand("copy");
});

еще пробовал с помощью jQuery вот так:
var button = document.getElementById("copyID");
var input =  $('box-content').val();
$('copyID').on("click", function(event) {
   event.preventDefault();
   // Select the input node's contents
   input.select();
   // Copy it to the clipboard
   document.execCommand("copy");
 });

Сижу над этим уже часа два.
Выходит то без ошибок но в буфер все равно не копируется.
Подскажите если что я сделал не так и как это исправить если не трудно.


Дополнено. Так все работает.
var button = document.getElementById("copyID"),
    input =  document.getElementById("box-content");

button.addEventListener("click", function(event) {
  event.preventDefault();
  // Select the input node's contents
  input.select();
  // Copy it to the clipboard
  document.execCommand("copy");
});

  • Вопрос задан
  • 13548 просмотров
Пригласить эксперта
Ответы на вопрос 2
copist
@copist
Empower people to give
Всю статью прочитай. Там есть кусок кода с перехватом ошибки. Посмотри в отладчике javascript, что именно твоему браузеру не понравилось
Ответ написан
Комментировать
А это вообще нормально, что браузер может копировать мой текст? Привет хакерам называется - непаханное поле для них теперь
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы