텍스트를 차단하는 입력 필드에 텍스트를 붙여 넣는 방법은 무엇입니까?


14

많은 웹 페이지에서 JavaScript를 사용하여 복사 / 붙여 넣기를 차단하고 있습니다.

이러한 입력을 원하는대로 작동시키는 방법이 있습니까 (예 : 복사 / 붙여 넣기 사용)?

Chrome을 사용하고 있습니다.


매우 가능성이 낮습니다. 그들은 아무 이유없이 그것을 넣지 않았으므로 그것을 우회하는 방법을 막을 것입니다.
— LPChip

이러한 스크립트를 우회하는 방법에는 여러 가지가 있으며 전용 브라우저 확장 프로그램으로이 문제의 많은 문제를 해결할 수 있습니다.
— syntagma

1
이미 알고 있다면 왜 질문을 게시합니까?
— LPChip

나는 그것이 가능하다는 것을 알고 있으며, 그러한 확장에 대해 모른다.
— syntagma

Firefox를 사용하는 경우 about : config로 이동하여 dom.event.clipboardevents.enabled를 false로 변경할 수 있습니다. Chrome에 비슷한 것이 있는지 모르겠습니다.
— user276648

답변:


16

텍스트를 강조 표시하고 텍스트 필드로 드래그하면됩니다. 여기에서 보십시오 !

이것은 Firefox 및 Chrome에서 작동합니다.


1
훌륭한 솔루션! 크롬에서는 빈 문자열을 얻기 위해이 문자열을 주소 표시 줄 "data : text / html, <html contenteditable>"(따옴표없이)에 넣을 수 있습니다. 그것에 북마크를 만들었습니다. 이제이 빈 페이지에 텍스트를 붙여 넣은 다음 채울 필요가있는 필드로 끌어다 놓을 수 있습니다.
— 얇은

이게 최선이다. 개발자 콘솔에서 js를 실행하려고하면 두통이 생겼습니다. 많은 감사합니다!
— Millar248

쿨한 남자? 감사합니다 .. 당신은 내 시간을 절약했습니다.
— Vitali Petrov

7

그것은 해키이며 항상 작동하지는 않지만 많은 시간에 CTRL+ C/에 대한 리스너가 설정되어 있으며 복사 / 붙여 넣기 대신 + / + 를 CTRL+V사용하여 해결할 수 있습니다 .CTRLINSSHIFTINS

그들이 빈 문자열을 클립 보드에 루프 (트 위치)로 쓰는 데 플래시를 사용하는 것과 같은 바보 같은 일을하고 있다면 운이 없습니다.


5

1
이것이 정답이어야합니다. Do n't Fuck With Paste는 Github에서 465 개의 별을 가지고 있으며 Chrome 스토어에서 실제로 5 개의 별 등급 (413 개 리뷰)을 가지고 있습니다. 이것은 정말로 나를 도왔다. 감사!
— 벤

나에게이 확장은 도움이되지만 모든 사이트에서 작동하지는 않습니다.
— 얇은

5

Firefox를 사용하는 경우 다음 해결책을 찾았습니다. 그러나 어떤 최소 버전이 필요한지 확실하지 않습니다.

  1. 이동 about:config
  2. 검색 dom.event.clipboardevents.enabled
  3. 값을 두 번 클릭하여 값을 false

이를 변경 한 후 바로 붙여 넣을 수있었습니다. 브라우저를 다시 시작할 필요조차 없었습니다.


3

F12를 누르고 다음 코드를 콘솔에 붙여 넣습니다.

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

프로그래밍 방식. 감사합니다
— Jaber Al Nahian

2

Chrome의 가장 쉬운 해결 방법 (사용자 편의성 측면에서)은 복사 허용 확장 프로그램을 추가하는 것 입니다.


2
설치하기 전에 해당 확장을 신중하게 조사하십시오. 검토 자들은 그것이 악성 코드라고 주장하고 있습니다.
— George

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:(function(){
  allowCopyAndPaste = function(e){ 
      e.stopImmediatePropagation(); 
      return true;
  };
  document.addEventListener('copy', allowCopyAndPaste, true);
  document.addEventListener('paste', allowCopyAndPaste, true);
  document.addEventListener('onpaste', allowCopyAndPaste, true);
})();

AllowCopyAndPaste


여러 질문에 동일한 답변을 게시하지 마십시오. 동일한 정보가 실제로 두 질문에 모두 대답하는 경우 한 질문 (보통 새로운 질문)은 다른 질문과 중복하여 닫아야합니다. 다음과 같은 방법으로이를 표시 할 수 있습니다 중복으로 닫 투표 또는, 당신이 충분한 명성을하지 않은 경우, 플래그 인상 이 중복의 것을 나타냅니다. 그렇지 않으면이 질문에 대한 답을 맞추고 동일한 대답을 여러 곳에 붙여 넣지 마십시오.
— 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
이와 같은 I : ^ Q : SendInput을, {원시} % 클립 보드 % CTRL-Q는 (그것을 입력 유사) 입력으로 키보드의 내용 전송
— nijave
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.