Як вставити текст у поля введення, які блокують його?


14

На багатьох веб-сторінках вони блокують копіювання / вставлення за допомогою JavaScript.

Чи є спосіб зробити так, щоб такі входи працювали як слід (наприклад, включити копіювати / вставити)?

Я використовую Google Chrome.


Це дуже малоймовірно. Вони не вкладають у це жодних причин, тому також блокують будь-який спосіб її обійти.
LPChip

Існує багато способів обходу таких сценаріїв, а спеціалізоване розширення для браузера повинно вирішити багато прихильників цієї проблеми.
синтагма

1
Якщо ви вже знаєте це, чому ви ставите це запитання?
LPChip

Я знаю, що це можливо, я не знаю про таке розширення.
синтагма

Якщо ви використовували Firefox, ви можете перейти до about: config та змінити dom.event.clipboardevents.enabled на false. Я не знаю, чи існує щось подібне в Chrome.
користувач276648

Відповіді:


16

Просто виділіть текст і перетягніть його в текстове поле. Спробуйте тут !

Це працює для мене в Firefox та Chrome.


1
Чудове рішення! У хромі можна вказати цей рядок у адресний рядок "data: text / html, <html contenteditable>" (без лапок), щоб отримати порожнє полотно. Я створив закладку до цього. Тепер я можу вставити свій текст на цю порожню сторінку, а потім перетягнути його в поля, які потребують заповнення.
худий

Це найкраще. Спроба запустити js у консолі розробника викликала головний біль. Дуже дякую!
Millar248

Крутий чувак? дякую .. Ти врятував мій час.
Віталій Петров

7

Це хакі і не працюватиме завжди, але багато часу є лише слухач для CTRL+ C/, CTRL+Vі ви можете його обійти, використовуючи CTRL+ INS/ SHIFT+ INSзамість копіювання / вставки.

Якщо вони роблять щось неповторне, наприклад, використовуючи спалах, щоб записати порожній рядок у буфер обміну в циклі (посмикування), то вам не пощастить.


5

1
Це має бути правильна відповідь. Don't Fuck With Paste має 465 зірок у Github та практично 5-зірковий рейтинг у Chrome Store - із 413 відгуками. Це мені справді допомогло. Спасибі!
Бен

Для мене це розширення допомагає, але працює не на всіх сайтах.
тонкий

5

Якщо ви використовуєте Firefox, я знайшов таке рішення. Не знаю, яка мінімальна версія потрібна.

  1. Йти до about:config
  2. Шукати dom.event.clipboardevents.enabled
  3. Двічі клацніть його, щоб змінити значення на false

Це дозволило мені вставити відразу після зміни. Мені навіть не довелося перезапускати браузер.



2

Найпростішим рішенням (з точки зору зручності користування) для Google Chrome було б додавання розширення Allow Copy .


2
Ретельно перевіряйте розширення перед встановленням. Рецензенти стверджують, що це зловмисне програмне забезпечення.
Джордж

1

Ви можете просто відключити JavaScript на сторінці за допомогою простої закладки. З. http://javascript.about.com/library/bldis.htm

Якщо ви створите закладку, що містить такий посилання як посилання (або навіть вставте цей код в адресний рядок і натисніть клавішу Enter), він зірве весь JavaScript з поточної сторінки:

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

Проблема, звичайно, полягає в тому, що поки ви зможете вставити в це текстове поле, якщо форма, яка використовувала JavaScript для подання форми, також буде порушена.


1

Вирішіть додати своє рішення до цього (зробити закладку, натхненну цим репо-файлом та розширенням https://github.com/jswanner/DontFuckWithPaste ) Ця закладка також дозволить копіювати документи, які відключають використання 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);
})();

ДозволитиCopyAndPaste


Не публікуйте однакову відповідь на кілька запитань. Якщо однакова інформація дійсно відповідає на обидва запитання, то одне питання (як правило, нове) має бути закрите як дублікат іншого. Ви можете вказати це, проголосувавши, щоб закрити його як дублікат або, якщо у вас недостатньо репутації для цього, підняти прапор, щоб вказати, що це дублікат. В іншому випадку підгадуйте свою відповідь на це питання і не просто вставляйте однакову відповідь у декілька місць.
DavidPostill

0

У Windows можна використовувати AutoHotkey

синтаксис:

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

приклад: якщо ви введете, xyzвін напише текст нижче (як би він був написаний)

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

1
Мені подобається такий: ^ Q :: SendInput, {Raw}% буфер обміну% CTRL-Q надсилає вміст клавіатури як вхідний (подібний до введення його)
nijave
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.