11

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

Есть ли способ заставить такие входные данные работать как следует (например, включить копирование / вставку)?

Я использую Google Chrome.

8 ответов8

6

Он хакерский и не будет работать всегда, но в большинстве случаев есть просто набор слушателей для CTRL+C / CTRL+V, и вы можете обойти его, используя CTRL+INS / SHIFT+INS вместо copy / paste.

Если они делают что-то глупое, например, используют flash для записи пустой строки в буфер обмена в цикле (дергании), то вам не повезло.

6

Просто выделите текст и перетащите его в текстовое поле. Попробуй это здесь !

Это работает для меня в Firefox и Chrome.

3

Вот расширение Chrome с открытым исходным кодом

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

Если вы заинтересованы в коде https://github.com/jswanner/DontFuckWithPaste

2

Если вы используете Firefox, я нашел следующее решение. Не уверен, какая минимальная версия требуется, однако.

  1. Перейти к about:config
  2. Поиск для dom.event.clipboardevents.enabled
  3. Дважды щелкните его, чтобы изменить значение на false

Это позволило мне вставить сразу после изменения. Мне даже не пришлось перезагружать браузер.

2

Самый простой обходной путь (с точки зрения удобства использования) для Google Chrome - добавить расширение « Разрешить копирование» .

1

Вы можете просто отключить JavaScript на странице, используя простой букмарклет. От. http://javascript.about.com/library/bldis.htm

Если вы создаете закладку, которая содержит следующий скрипт в качестве ссылки (или даже вставляете этот код в адресную строку и нажимаете ввод), тогда он будет срывать весь 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 для отправки формы, это тоже будет нарушено.

0

На окнах вы можете использовать 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
0

Решите добавить мое решение к этому (создание букмарклета, вдохновленного этим репо и расширением 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);
})();

AllowCopyAndPaste

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .