Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вставить текст в input из буфера обмена (https://javascript.ru/forum/misc/85708-vstavit-tekst-v-input-iz-bufera-obmena.html)

StartGames 17.01.2024 19:11

Вставить текст в input из буфера обмена
 
Как вставить текст в input из буфера обмена?

Вот такое не работает::cray:
document.execCommand('Paste');

document.execCommand('insertHTML');

StartGames 17.01.2024 20:59

Цитата:

Сообщение от voraa (Сообщение 554479)
А фокус на этот инпут ставишь?

делаю так:
<div onclick="$('#info').val(document.execCommand('Paste'))">Вставить</div>
<input type="text" value="" id="info">

voraa 17.01.2024 21:39

Скорее всего никак не получится
document.execCommand('Paste') больше не работает.

https://groups.google.com/a/chromium.../c/NSqG82eHrxo

Только через
navigator.clipboard.readText();

(Но, к сожалению это не будет работать в Firefox, походу в нем никак нельзя. Только через расширение)

<div onclick="$('#info').val(document.execCommand('Past e'))">Вставить</div> - это и раньше бы не сработало.
execCommand('Paste') не возвращает текст. Он возвращает true/false - выполнилась операция или нет. Сейчас всегда возвращает false. И вставка текста производилась в то место, где курсор (обычно в textarea)

StartGames 17.01.2024 22:40

спасибо

рони 17.01.2024 22:46

StartGames,
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>
<body>
12345
<div>Вставить</div>
<input type="text" value="" id="info">
<script>
let text = '';
document.addEventListener('selectionchange', function()
  {
    if(getSelection().toString().length) text = getSelection().toString();
  }, false
);
document.querySelector('div').addEventListener('click', function()
  {
    info.value = text;
  }, false
)
</script>
</body>
</html>

StartGames 17.01.2024 22:50

Спасибо, буду пробовать)

voraa 18.01.2024 07:48

рони,
Это же не даст вставить из другого приложения.

рони 18.01.2024 10:19

voraa,
... на всякий случай :)


Часовой пояс GMT +3, время: 02:35.