Gostaria de saber uma maneira de fazer meu script detectar o conteúdo da área de transferência e colá-lo em um campo de texto quando a página for aberta, sem entrada do usuário. Como pode ser feito?
javascript
clipboard
paste
Gabriele Cirulli
fonte
fonte
Respostas:
window.clipboardData.getData('Text')
funcionará em alguns navegadores. No entanto, muitos navegadores nos quais funciona perguntarão ao usuário se ele deseja ou não que a página da web tenha acesso à área de transferência.fonte
Use a nova API da área de transferência , via
navigator.clipboard
. Ele pode ser usado assim:Ou com sintaxe assíncrona:
const text = await navigator.clipboard.readText();
Lembre-se de que isso exibirá ao usuário uma caixa de diálogo de solicitação de permissão, portanto, nenhum negócio engraçado será possível.
(NOTA: Isso não funcionará se chamado do console, mas exigirá uma ação direta do usuário, como pressionar um botão, obrigado @Artur)
Mais sobre isso
Spec
fonte
setTimeout
e clicando novamente na página.Você pode usar
para obter o conteúdo da área de transferência do usuário no IE. No entanto, em outro navegador, você pode precisar usar o flash para obter o conteúdo, uma vez que não existe uma interface padrão para acessar a área de transferência. Pode ser que você possa experimentar este plugin Zero Clipboard
fonte
A seguir, você encontrará o conteúdo selecionado e também a atualização da área de transferência.
Vincule o id do elemento com o evento de cópia e, em seguida, obtenha o texto selecionado. Você pode substituir ou modificar o texto. Pegue a área de transferência e defina o novo texto. Para obter a formatação exata, você precisa definir o tipo como "text / hmtl". Você também pode vinculá-lo ao documento em vez de ao elemento.
fonte