Como colar texto em campos de entrada que o bloqueiam?


14

Em muitas páginas da web, eles estão bloqueando copiar / colar usando JavaScript.

Existe alguma maneira de fazer essas entradas funcionarem como deveriam (por exemplo, habilitar copiar / colar)?

Estou usando o Google Chrome.


É muito improvável. Eles não colocam isso sem motivo, então também bloqueiam qualquer forma de contornar isso.
LPChip

Há muitas maneiras de contornar esses scripts e uma extensão de navegador dedicada deve resolver muitos problemas desse problema.
Syntagma

1
Se você já sabe disso, por que publica a pergunta?
LPChip

Eu sei que é factível, não conheço essa extensão.
Syntagma

Se você estava usando o Firefox, poderia acessar about: config e alterar dom.event.clipboardevents.enabled para false. Não sei se existe algo semelhante no Chrome.
user276648

Respostas:


16

Simplesmente destaque o texto e arraste-o para o campo de texto. Experimente aqui !

Isso funciona para mim no Firefox e Chrome.


1
Ótima solução! No chrome, você pode colocar essa string na barra de endereço "data: text / html, <html contenteditable>" (sem as aspas) para obter uma tela em branco. Eu criei um marcador para isso. Agora posso colar meu texto nesta página em branco e arrastá-lo para os campos que precisam ser preenchidos.
fino de

Isso é o melhor. Tentar executar js no console do desenvolvedor estava me dando dor de cabeça. Muito Obrigado!
precisa saber é o seguinte

Homem legal? obrigado .. Você economizou meu tempo.
Vitali Petrov

7

É hacky e não funciona sempre, mas na maioria das vezes há apenas um ouvinte definido para CTRL+ C/ CTRL+Ve você pode contornar isso usando CTRL+ INS/ SHIFT+ em INSvez de copiar / colar.

Se eles estão fazendo algo bobo, como usar o flash para escrever uma sequência vazia na área de transferência em um loop (contração), você fica sem sorte.


5

Aqui está uma extensão de código aberto do Chrome

https://chrome.google.com/webstore/detail/dont-fuck-with-paste/nkgllhigpcljnhoakjkgaieabnkmgdkb

Se você estiver interessado no código https://github.com/jswanner/DontFuckWithPaste


1
Essa deve ser a resposta correta. O Don't Fuck With Paste tem 465 estrelas no Github e praticamente uma classificação de 5 estrelas na Chrome Store - com 413 avaliações. Isso realmente me ajudou. Obrigado!
Ben

Para mim, essa extensão ajuda, mas não funciona em todos os sites.
fina

5

Se você estiver usando o Firefox, encontrei a seguinte solução. Não tenho certeza de qual versão mínima é necessária, no entanto.

  1. Vamos para about:config
  2. Procurar por dom.event.clipboardevents.enabled
  3. Clique duas vezes nele para alterar o valor para false

Isso me permitiu colar imediatamente após a alteração. Eu nem precisei reiniciar o navegador.


2

A solução mais fácil (em termos de facilidade de uso) para o Google Chrome seria adicionar a extensão Allow Copy .


2
Examine cuidadosamente essa extensão antes de instalar. Os revisores estão reivindicando seu malware.
George

2

Pressione F12 e cole o seguinte código no console.

var allowPaste = function(e){
  e.stopImmediatePropagation();
  return true;
};
document.addEventListener('paste', allowPaste, true);

1

Você pode simplesmente desativar o JavaScript na página usando um bookmarklet simples. A partir de. http://javascript.about.com/library/bldis.htm

Se você criar um marcador que contenha o seguinte script como link (ou mesmo colar esse código na barra de endereços e pressionar Enter), ele removerá todo o JavaScript da página atual:

javascript:void(d=document);if(frames.length){alert('Script%20doesn/'t%20work%20in%20frames');}else{while((el=d.getElementsByTagName('script')).length){el[0].parentNode.removeChild(el[0]);};onerror=function(){};d.close();}

O problema, é claro, é que enquanto você poderá colar nessa caixa de texto se o formulário usar JavaScript para enviá-lo, ele também será quebrado.


1

Decida adicionar minha solução a isso (criar um bookmarklet inspirado neste repositório e extensão https://github.com/jswanner/DontFuckWithPaste ) Este bookmarklet também permitirá a cópia de documentos que o desativam usando javascript.

javascript:(function(){
  allowCopyAndPaste = function(e){ 
      e.stopImmediatePropagation(); 
      return true;
  };
  document.addEventListener('copy', allowCopyAndPaste, true);
  document.addEventListener('paste', allowCopyAndPaste, true);
  document.addEventListener('onpaste', allowCopyAndPaste, true);
})();

AllowCopyAndPaste


Não publique a mesma resposta em várias perguntas. Se a mesma informação realmente responder a ambas as perguntas, uma pergunta (geralmente a mais recente) deve ser fechada como duplicata da outra. Você pode indicar isso votando para fechá-lo como duplicado ou, se você não tiver reputação suficiente para isso, levante uma bandeira para indicar que é uma duplicata. Caso contrário, adapte sua resposta a essa pergunta e não cole a mesma em vários lugares.
DavidPostill

0

No Windows, você pode usar o AutoHotkey

sintaxe:

::whatever::
Send [....text… Use  {enter} for line breaks]
return

exemplo: se você digitar xyz, escreverá o texto abaixo (como se estivesse escrito)

::xyz::
Send hi {enter} This a new line  {enter}. Another new line  {enter} whatsoever. {enter} 
return

1
I como esta: ^ Q :: SendInput, {Raw}% clipboard% CTRL-Q envia o conteúdo do teclado como entrada (semelhantes a digitando-o)
nijave
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.