Come incollare il testo nei campi di input che lo bloccano?


14

In molte pagine Web stanno bloccando copia / incolla utilizzando JavaScript.

Esiste un modo per far funzionare tali input come dovrebbe (ad esempio abilitare copia / incolla)?

Sto usando Google Chrome.


È molto improbabile. Non lo inseriscono senza motivo, quindi bloccheranno anche qualsiasi modo di aggirarlo.
LPChip,

Esistono molti modi per aggirare tali script e un'estensione del browser dedicata dovrebbe risolvere molti guerrieri di questo problema.
syntagma,

1
Se lo sai già, perché pubblichi la domanda?
LPChip,

So che è fattibile, non conosco alcuna estensione del genere.
syntagma,

Se si utilizza Firefox, è possibile andare su about: config e modificare dom.event.clipboardevents.enabled su false. Non so se esiste qualcosa di simile in Chrome.
user276648

Risposte:


16

Basta evidenziare il testo e trascinarlo nel campo di testo. Provalo qui !

Questo funziona per me in Firefox e Chrome.


1
Ottima soluzione! In Chrome puoi inserire questa stringa nella barra degli indirizzi "data: text / html, <html contenteditable>" (senza virgolette) per ottenere un canvas vuoto. Ho creato un segnalibro per quello. Ora posso incollare il mio testo in questa pagina vuota, quindi trascinarlo nei campi che devono essere riempiti.
magro,

Questo è il migliore. Cercare di eseguire js nella console degli sviluppatori mi faceva venire il mal di testa. Grazie molto!
Millar248

Bene amico? grazie .. Mi hai risparmiato tempo.
Vitali Petrov,

7

È confuso e non funzionerà sempre, ma per la maggior parte del tempo c'è solo un listener impostato su CTRL+ C/ CTRL+Ve puoi aggirarlo usando CTRL+ INS/ SHIFT+ INSinvece di copia / incolla.

Se stanno facendo qualcosa di sciocco come usare il flash per scrivere una stringa vuota negli appunti in un ciclo (twitch), allora sei sfortunato.


5

1
Questa dovrebbe essere la risposta corretta. Don't Fuck With Paste ha 465 stelle su Github e praticamente 5 stelle sul Chrome Store - con 413 recensioni. Questo mi ha davvero aiutato. Grazie!
Ben

Per me, questa estensione aiuta, ma non funziona su tutti i siti.
magro,

5

Se stai usando Firefox, ho trovato la seguente soluzione. Non sono sicuro di quale versione minima sia richiesta, tuttavia.

  1. Vai a about:config
  2. Cercare dom.event.clipboardevents.enabled
  3. Fare doppio clic su di esso per modificare il valore in false

Questo mi ha permesso di incollare immediatamente dopo averlo modificato. Non ho nemmeno dovuto riavviare il browser.


2

La soluzione più semplice (in termini di facilità d'uso) per Google Chrome sarebbe l'aggiunta dell'estensione Consenti copia .


2
Controllare attentamente tale estensione prima dell'installazione. I recensori affermano che si tratta di malware.
George

2

Premi F12 e incolla il seguente codice nella console.

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

1

Puoi semplicemente disabilitare JavaScript sulla pagina usando un semplice bookmarklet. A partire dal. http://javascript.about.com/library/bldis.htm

Se crei un segnalibro che contiene il seguente script come link (o addirittura incolli questo codice nella barra degli indirizzi e premi invio), strapperà tutto il JavaScript dalla pagina corrente:

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();}

Il problema ovviamente è che mentre sarai ora in grado di incollare in quella casella di testo se il modulo utilizza JavaScript per inviare il modulo, anche quello verrà rotto.


1

Decidi di aggiungere la mia soluzione a questo (creando un bookmarklet ispirato a questo repository ed estensione https://github.com/jswanner/DontFuckWithPaste ) Questo bookmarklet consentirà anche di copiare documenti che lo disabilitano 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


Si prega di non pubblicare la stessa risposta a più domande. Se le stesse informazioni rispondono davvero ad entrambe le domande, allora una domanda (di solito la più recente) dovrebbe essere chiusa come duplicata dell'altra. Puoi indicarlo votando per chiuderlo come duplicato o, se non hai abbastanza reputazione per quello, alza un flag per indicare che è un duplicato. Altrimenti personalizza la tua risposta a questa domanda e non incollare la stessa risposta in più punti.
DavidPostill

0

Su Windows puoi usare AutoHotkey

sintassi:

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

esempio: se digiti xyz, scriverà il testo seguente (come se fosse stato scritto)

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

1
Mi piace questo: ^ Q :: SendInput, {Raw}% appunti% CTRL-Q invia il contenuto della tastiera come input (simile alla digitazione)
nijave
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.