Wie füge ich Text in Eingabefelder ein, die ihn blockieren?

14

Auf vielen Webseiten blockieren sie das Kopieren / Einfügen mit JavaScript.

Gibt es eine Möglichkeit, solche Eingaben so zu gestalten, wie sie sollten (z. B. Kopieren / Einfügen aktivieren)?

Ich verwende Google Chrome.

Syntagma
quelle
Es ist sehr unwahrscheinlich. Sie geben das nicht ohne Grund ein, also blockieren sie auch jede Art der Umgehung.
LPChip
Es gibt viele Möglichkeiten, solche Skripte zu umgehen, und eine dedizierte Browser-Erweiterung sollte viele Probleme dieses Problems lösen.
Syntagma
1
Wenn Sie dies bereits wissen, warum stellen Sie die Frage?
LPChip
Ich weiß, dass es machbar ist, ich weiß nichts über eine solche Erweiterung.
Syntagma
Wenn Sie Firefox verwenden, können Sie zu about: config gehen und dom.event.clipboardevents.enabled in false ändern. Ich weiß nicht, ob es in Chrome etwas Ähnliches gibt.
user276648

Antworten:

15

Markieren Sie einfach den Text und ziehen Sie ihn in das Textfeld. Probieren Sie es hier aus !

Dies funktioniert bei mir in Firefox und Chrome.

HullCityFan852
quelle
1
Tolle Lösung! In Chrome können Sie diese Zeichenfolge in die Adressleiste "data: text / html, <html contenteditable>" (ohne Anführungszeichen) einfügen, um eine leere Zeichenfläche zu erhalten. Ich habe dazu ein Lesezeichen erstellt. Jetzt kann ich meinen Text in diese leere Seite einfügen und ihn dann in die Felder ziehen, die ausgefüllt werden müssen.
Dünne
Das ist das beste. Der Versuch, js in der Entwicklerkonsole auszuführen, bereitete mir Kopfschmerzen. Danke vielmals!
Millar248
Cool, Mann? Danke. Du hast mir Zeit gespart.
Vitali Petrov
7

Es ist hackig und funktioniert nicht immer, aber oft ist nur ein Listener für CTRL+ C/ eingestellt, CTRL+Vund Sie können es umgehen, indem Sie CTRL+ INS/ SHIFT+ INSanstelle von Kopieren / Einfügen verwenden.

Wenn sie etwas doofes tun, wie Flash, um eine leere Zeichenfolge in einer Schleife (Zucken) in die Zwischenablage zu schreiben, haben Sie kein Glück.

Junkiebev
quelle
5

Hier ist eine Open Source Chrome-Erweiterung

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

Wenn Sie an dem Code https://github.com/jswanner/DontFuckWithPaste interessiert sind

user276648
quelle
1
Dies sollte die richtige Antwort sein. Don't Fuck With Paste hat 465 Sterne bei Github und praktisch eine 5-Sterne-Bewertung im Chrome Store - mit 413 Bewertungen. Das hat mir wirklich geholfen. Vielen Dank!
Ben
Für mich hilft diese Erweiterung, funktioniert aber nicht auf allen Websites.
Dünne
5

Wenn Sie Firefox verwenden, habe ich die folgende Lösung gefunden. Ich bin mir jedoch nicht sicher, welche Mindestversion erforderlich ist.

  1. Gehe zu about:config
  2. Suchen nach dom.event.clipboardevents.enabled
  3. Doppelklicken Sie darauf, um den Wert in zu ändern false

Dadurch konnte ich sofort nach dem Ändern einfügen. Ich musste den Browser nicht einmal neu starten.

Mirrana
quelle
2

Die einfachste Problemumgehung (in Bezug auf die Benutzerfreundlichkeit) für Google Chrome wäre das Hinzufügen der Erweiterung " Kopie zulassen" .


quelle
2
Überprüfen Sie diese Erweiterung vor der Installation sorgfältig. Rezensenten behaupten, es sei Malware.
George
2

Drücken Sie F12 und fügen Sie den folgenden Code in die Konsole ein.

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

Sie können JavaScript auf der Seite einfach mit einem einfachen Lesezeichen deaktivieren. Von. http://javascript.about.com/library/bldis.htm

Wenn Sie ein Lesezeichen erstellen, das das folgende Skript als Link enthält (oder diesen Code sogar in die Adressleiste einfügen und die Eingabetaste drücken), wird das gesamte JavaScript von der aktuellen Seite entfernt:

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

Das Problem ist natürlich, dass, während Sie jetzt in dieses Textfeld einfügen können, wenn das Formular JavaScript zum Senden des Formulars verwendet, auch dieses fehlerhaft ist.

Mokubai
quelle
1

Entscheiden Sie sich, meine Lösung dazu hinzuzufügen (ein Lesezeichen zu erstellen, das von diesem Repo und der Erweiterung https://github.com/jswanner/DontFuckWithPaste inspiriert ist ). Dieses Lesezeichen ermöglicht auch das Kopieren in Dokumente, die diese Verwendung von Javascript deaktivieren.

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

Legion
quelle
Bitte posten Sie nicht dieselbe Antwort auf mehrere Fragen. Wenn die gleichen Informationen wirklich beide Fragen beantworten, sollte eine Frage (normalerweise die neuere) als Duplikat der anderen geschlossen werden. Sie können dies anzeigen, indem Sie abstimmen, um es als Duplikat zu schließen, oder, wenn Sie nicht genug Ruf dafür haben , eine Flagge hissen, um anzuzeigen, dass es sich um ein Duplikat handelt. Passen Sie andernfalls Ihre Antwort auf diese Frage an und fügen Sie dieselbe Antwort nicht einfach an mehreren Stellen ein.
DavidPostill
0

Unter Windows können Sie AutoHotkey verwenden

Syntax:

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

Beispiel: Wenn Sie eingeben xyz, wird der folgende Text geschrieben (als ob er geschrieben wurde).

::xyz::
Send hi {enter} This a new line  {enter}. Another new line  {enter} whatsoever. {enter} 
return
J. Does
quelle
1
Ich mag dieses: ^ Q :: SendInput, {Raw}% Zwischenablage% CTRL-Q sendet den Inhalt der Tastatur als Eingabe (ähnlich wie beim Eingeben)
Nijave