2016-10-24 3 views
1

Я пытаюсь скопировать тег привязки как HTML с веб-страницы с помощью JS. Идея состоит в том, чтобы разрешить пользователям копировать элемент привязки и вставлять его в текстовые документы в качестве тега anhcor.Копировать привязную метку с HTML-страницы в буфер обмена с использованием Java Script в браузере Chrome

HTML код

<div id="dummyDiv" style="position: fixed; opacity: 0;"> 
    <a href="http://localhost/Test">Link to Test</a> 
</div> 

JS код

var range = document.createRange(); 
var selection = window.getSelection(); 
range.selectNodeContents(document.getElementById('dummyDiv')); 
selection.removeAllRanges(); 
selection.addRange(range); 
document.execCommand('copy'); 

Проблема я столкнулся этот сценарий не копируя его в качестве якорного элемента. Он копирует только внутренний текст тега привязки «Link To Test». Я не уверен, как это сделать. Нужна помощь в этом.

Проблема, кажется, в среде разработчиков, которая находится на VM. тот же код работает отлично за пределами VM на том же версированном хроме. Странно, почему не работает в VM ...

ответ

1

Для этого я использую https://clipboardjs.com/.

Ведение манипуляции с буфером обмена: оно работает только в рамках генерируемого пользователем события (например, щелчок). Вне такого обработчика событий он просто не будет помещен в буфер обмена.

Это мое копирование кода, который я использую на нажатие кнопки события

clipboard.copy({ 
      'text/plain':'text', 
      'text/html': '<strong>text</strong>' 
      }).then(
      function(){ 
       alert("copied to clipboard"); 
      }, 
      function(err){ 
       window.prompt("Something went wrong with automatically copying the data to clipboard.\nPlease press CTRC + C to copy the data",'text'); 
      }); 
+0

Это здорово. Я проверил его, и он работал как шарм. Но сценарий запрашивает доступ в Internet Explorer ... и в некоторых случаях он запрашивает разрешение activex. Любая идея, как сделать выбор для браузера Chrome? Я вижу, что они используют скрипт с именем «select», чтобы выбрать узел. Глядя на него сейчас. Спасибо за помощь Tschallcka – Raja

+0

ну, вы взаимодействуете с чувствительной частью данных о пространстве пользователя. Я бы хотел, чтобы больше браузеров попросили разрешения. Как это работает под капотом? не совсем уверен, у него есть легион откатов, поэтому он всегда будет стараться работать. – Tschallacka

+0

\t \t \t <сценарий SRC = "https://cdn.jsdelivr.net/clipboard.js/1.5.13/clipboard.min.js"> \t \t \t \t

\t \t кнопку <класс = "БТН" данных буфер обмена-целевой = "# бар"> \t \t \t Вырезать в буфер обмена \t \t \t – Raja

 Смежные вопросы

  • Нет связанных вопросов^_^