Вставка из буфера обмена в текстовую область с помощью JavaScript onclick - PullRequest
1 голос
/ 01 апреля 2020

Я пытаюсь реализовать следующие сценарии, чтобы позволить мне вставить из буфера обмена в текстовое поле на моей веб-странице в Chrome. Они оба отлично демонстрируют на jsfiddle. net, но я не могу заставить его работать на моем сайте. На jsfiddle выдается предупреждение, разрешающее вставку из буфера обмена, как и ожидалось. На моем сайте этого не было. Я также временно удалил любые другие файлы в той же папке, вызвав сценарии. js sr c на случай, если они каким-то образом вмешиваются или переопределяют этот код. (@Rob Lou ie - спасибо за то, что вы опубликовали эти ссылки несколько лет назад go. Я не мог прокомментировать эту ветку напрямую из-за моего статуса ie.) Любая помощь будет принята с благодарностью. Спасибо.

https://jsfiddle.net/1vmansr2/

<button onclick="myFunction()">Try it</button>

<p id="demo"></p>

<script>
function myFunction() {

   navigator.clipboard.readText()
.then(text => {
document.getElementById("demo").innerHTML = text;

})
.catch(err => {
document.getElementById("demo").innerHTML = 'Failed to read clipboard contents: '+err;
});


}
</script>

https://jsfiddle.net/zm490d6a/

<style>
    textarea {
  width: 300px;
  height: 400px;
}
</style>
<script async src="//jsfiddle.net/zm490d6a/embed/"></script>
<textarea onclick="paste(this)"></textarea>
<script>
    async function paste(input) {
        const text = await navigator.clipboard.readText();
        input.value = text;
      }
</script>

1 Ответ

0 голосов
/ 02 апреля 2020

В остальном все идет правильно, вы, вероятно, заблокировали доступ к буферу обмена на своем сайте. Вы можете изменить это, щелкнув 'i' в кружке слева от вашей Chrome строки URL.

enter image description here

...