Jak wkleić tekst do pól wejściowych, które go blokują?

14

Na wielu stronach blokują kopiowanie / wklejanie za pomocą JavaScript.

Czy istnieje sposób, aby takie dane wejściowe działały tak, jak powinny (np. Włączyć kopiowanie / wklejanie)?

Używam Google Chrome.

syntagma
źródło
To bardzo mało prawdopodobne. Nie wkładają tego bez powodu, więc będą blokować każdy sposób na obejście go.
LPChip
Istnieje wiele sposobów na obejście takich skryptów, a dedykowane rozszerzenie przeglądarki powinno rozwiązać wielu wariantów tego problemu.
syntagma
1
Jeśli już to wiesz, dlaczego publikujesz pytanie?
LPChip
Wiem, że jest to wykonalne, nie wiem o żadnym takim rozszerzeniu.
syntagma
Jeśli korzystasz z przeglądarki Firefox, możesz przejść do about: config i zmienić dom.event.clipboardevents.enabled na false. Nie wiem, czy coś podobnego istnieje w Chrome.
user276648,

Odpowiedzi:

16

Po prostu zaznacz tekst i przeciągnij go do pola tekstowego. Wypróbuj tutaj !

Działa to dla mnie w przeglądarce Firefox i Chrome.

HullCityFan852
źródło
1
Świetne rozwiązanie! W chrome możesz umieścić ten ciąg w pasku adresu „data: text / html, <html contenteditable>” (bez cudzysłowów), aby uzyskać puste płótno. Stworzyłem do tego zakładkę. Teraz mogę wkleić tekst na tej pustej stronie, a następnie przeciągnąć go w pola wymagające wypełnienia.
cienki
To jest najlepszy. Próba uruchomienia js w konsoli programisty sprawiła mi ból głowy. Wielkie dzięki!
Millar248
Spoko gość? dziękuję .. Zaoszczędziłeś mój czas.
Vitali Petrov,
7

Jest hacky i nie zawsze działa, ale przez większość czasu jest tylko zestaw nasłuchiwania dla CTRL+ C/ CTRL+Vi można go obejść, używając CTRL+ INS/ SHIFT+ INSzamiast kopiowania / wklejania.

Jeśli robią coś głupiego, jak użycie flasha, aby zapisać pusty ciąg do schowka w pętli (drganie), to nie masz szczęścia.

Junkiebev
źródło
5

Oto rozszerzenie Chrome typu open source

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

Jeśli jesteś zainteresowany kodem https://github.com/jswanner/DontFuckWithPaste

użytkownik276648
źródło
1
To powinna być poprawna odpowiedź. Don't Fuck With Paste ma 465 gwiazdek w Github i praktycznie 5 gwiazdek w Chrome Store - z 413 opiniami. To mi naprawdę pomogło. Dzięki!
Ben
Dla mnie to rozszerzenie pomaga, ale nie działa na wszystkich stronach.
cienki
5

Jeśli używasz przeglądarki Firefox, znalazłem następujące rozwiązanie. Nie jestem jednak pewien, jaka minimalna wersja jest wymagana.

  1. Iść do about:config
  2. Szukaj dom.event.clipboardevents.enabled
  3. Kliknij dwukrotnie, aby zmienić wartość na false

To pozwoliło mi wkleić natychmiast po zmianie. Nie musiałem nawet ponownie uruchamiać przeglądarki.

Mirrana
źródło
3

Naciśnij klawisz F12 i wklej następujący kod do konsoli.

var allowPaste = function(e){
  e.stopImmediatePropagation();
  return true;
};
document.addEventListener('paste', allowPaste, true);
Ahmad Sharif
źródło
Programowy sposób. dzięki
Jaber Al Nahian
2

Najłatwiejszym obejściem (pod względem przyjazności dla użytkownika) dla Google Chrome byłoby dodanie rozszerzenia Zezwalaj na kopiowanie .


źródło
2
Ostrożnie sprawdź to rozszerzenie przed instalacją. Recenzenci twierdzą, że to złośliwe oprogramowanie.
George
1

Możesz po prostu wyłączyć JavaScript na stronie za pomocą prostego bookmarkletu. Od. http://javascript.about.com/library/bldis.htm

Jeśli utworzysz zakładkę zawierającą następujący skrypt jako link (lub nawet wkleisz ten kod do paska adresu i naciśnij klawisz Enter), spowoduje to zerwanie całego kodu JavaScript z bieżącej strony:

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

Problem polega oczywiście na tym, że chociaż teraz będziesz mógł wkleić to pole tekstowe, jeśli formularz użył JavaScript do przesłania formularza, to i on zostanie uszkodzony.

Mokubai
źródło
1

Zdecyduj się dodać do tego moje rozwiązanie (tworzenie bookmarkletu zainspirowanego tym repozytorium i rozszerzeniem https://github.com/jswanner/DontFuckWithPaste ). Ta bookmarklet pozwoli również na kopiowanie dokumentów, które wyłączają to za pomocą 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

Legion
źródło
Nie zamieszczaj tej samej odpowiedzi na wiele pytań. Jeśli te same informacje naprawdę odpowiadają na oba pytania, to jedno pytanie (zwykle nowsze) powinno zostać zamknięte jako duplikat drugiego. Możesz to wskazać, głosując, aby zamknąć go jako duplikat lub, jeśli nie masz wystarczającej reputacji, podnieść flagę wskazującą, że jest to duplikat. W przeciwnym razie dostosuj swoją odpowiedź do tego pytania i nie wklejaj tej samej odpowiedzi w wielu miejscach.
DavidPostill
0

W systemie Windows możesz użyć AutoHotkey

składnia:

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

przykład: jeśli wpiszesz xyz, napisze poniższy tekst (tak jakby został napisany)

::xyz::
Send hi {enter} This a new line  {enter}. Another new line  {enter} whatsoever. {enter} 
return
J. robi
źródło
1
Podoba mi się ten: ^ Q :: SendInput, {Raw}% schowek% CTRL-Q wysyła zawartość klawiatury jako dane wejściowe (podobne do wpisywania)
nijave 16.08.18