Làm thế nào để dán văn bản vào các trường đầu vào chặn nó?


14

Trên nhiều trang web, họ đang chặn sao chép / dán bằng JavaScript.

Có cách nào để làm cho các đầu vào như vậy hoạt động như bình thường (ví dụ: cho phép sao chép / dán) không?

Tôi đang sử dụng Google Chrome.


Nó rất khó xảy ra. Họ không cho rằng không có lý do, vì vậy họ cũng sẽ chặn mọi cách để phá vỡ nó.
LPChip

Có rất nhiều cách để phá vỡ các tập lệnh như vậy và một phần mở rộng trình duyệt chuyên dụng sẽ giải quyết được nhiều vấn đề về vấn đề này.
cú pháp

1
Nếu bạn đã biết điều này, tại sao bạn đăng câu hỏi?
LPChip

Tôi biết điều đó là có thể, tôi không biết về bất kỳ phần mở rộng nào như vậy.
cú pháp

Nếu bạn đang sử dụng Firefox, bạn có thể truy cập about: config và thay đổi dom.event.clipboardevents.en bật thành false. Tôi không biết có thứ gì đó tương tự tồn tại trong Chrome không.
dùng276648

Câu trả lời:


16

Đơn giản chỉ cần làm nổi bật văn bản và kéo nó vào trường văn bản. Hãy thử nó ở đây !

Điều này hoạt động với tôi trong Firefox và Chrome.


1
Giải pháp tuyệt vời! Trong chrome, bạn có thể đặt chuỗi này vào thanh địa chỉ "data: text / html, <html contenteditable>" (không có dấu ngoặc kép) để có được một khung trống. Tôi đã tạo một dấu trang để đó. Bây giờ tôi có thể dán văn bản của mình vào trang trống này, sau đó kéo nó vào các trường cần điền.
mỏng

Đây là thứ tốt nhất. Cố gắng chạy js trong bảng điều khiển dành cho nhà phát triển đã khiến tôi đau đầu. Cảm ơn nhiều!
Millar248

Thật tuyệt, anh bạn? cảm ơn bạn .. Bạn đã tiết kiệm thời gian của tôi
Vitali Petrov

7

Nó bị hack và sẽ không hoạt động luôn nhưng nhiều lúc chỉ có một bộ lắng nghe được đặt cho CTRL+ C/ CTRL+Vvà bạn có thể khắc phục bằng cách sử dụng CTRL+ INS/ SHIFT+ INSthay vì sao chép / dán.

Nếu họ đang làm một việc gì đó ngớ ngẩn như sử dụng đèn flash để viết một chuỗi trống vào bảng tạm trong một vòng lặp (co giật) thì bạn đã hết may mắn.


5

1
Đây phải là câu trả lời chính xác. Do not Fuck With Paste có 465 sao trên Github và thực tế là xếp hạng 5 sao trên Cửa hàng Chrome - với 413 đánh giá. Điều này thực sự giúp tôi. Cảm ơn!
Ben

Đối với tôi, tiện ích mở rộng này có ích, nhưng không hoạt động trên tất cả các trang web.
mỏng

5

Nếu bạn đang sử dụng Firefox, tôi đã tìm thấy giải pháp sau. Không chắc chắn những gì phiên bản tối thiểu được yêu cầu, tuy nhiên.

  1. Đi đến about:config
  2. Tìm kiếm dom.event.clipboardevents.enabled
  3. Bấm đúp vào nó để thay đổi giá trị thành false

Điều này cho phép tôi dán ngay sau khi thay đổi nó. Tôi thậm chí không phải khởi động lại trình duyệt.


2

Cách giải quyết đơn giản nhất (về tính thân thiện với người dùng) cho Google Chrome sẽ là thêm tiện ích mở rộng Cho phép sao chép .


2
Vet cẩn thận mở rộng trước khi cài đặt. Những người đánh giá đang tuyên bố đó là phần mềm độc hại.
George

2

Nhấn F12 và dán đoạn mã sau vào bàn điều khiển.

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

1

Bạn chỉ có thể vô hiệu hóa JavaScript trên trang bằng bookmarklet đơn giản. Từ. http://javascript.about.com/l Library / bldis.htm

Nếu bạn tạo một dấu trang chứa tập lệnh sau dưới dạng liên kết (hoặc thậm chí dán mã này vào thanh địa chỉ và nhấn enter) thì nó sẽ tách tất cả JavaScript khỏi trang hiện tại:

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

Vấn đề tất nhiên là trong khi bây giờ bạn sẽ có thể dán vào hộp văn bản đó nếu biểu mẫu đã sử dụng JavaScript để gửi biểu mẫu thì điều đó cũng sẽ bị phá vỡ.


1

Quyết định thêm giải pháp của tôi vào vấn đề này (tạo bookmarklet lấy cảm hứng từ repo và tiện ích mở rộng này https://github.com/jswanner/DontFuckWithPaste ) Bookmarklet này cũng sẽ cho phép sao chép vào các tài liệu vô hiệu hóa bằng cách sử dụng 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


Xin vui lòng không gửi cùng một câu trả lời cho nhiều câu hỏi. Nếu cùng một thông tin thực sự trả lời cả hai câu hỏi, thì một câu hỏi (thường là câu hỏi mới hơn) nên được đóng lại như một bản sao của câu hỏi khác. Bạn có thể chỉ ra điều này bằng cách bỏ phiếu để đóng nó dưới dạng trùng lặp hoặc, nếu bạn không đủ danh tiếng cho điều đó, hãy giơ cờ để cho biết đó là bản sao. Mặt khác, điều chỉnh câu trả lời của bạn cho câu hỏi này và không chỉ dán cùng một câu trả lời ở nhiều nơi.
DavidPostill

0

Trên cửa sổ, bạn có thể sử dụng AutoHotkey

cú pháp:

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

ví dụ: nếu bạn gõ xyznó sẽ viết văn bản bên dưới (như thể nó được viết)

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

1
Tôi thích cái này: ^ Q :: SendInput, {Raw}% clipboard% CTRL-Q gửi nội dung của bàn phím dưới dạng đầu vào (tương tự như nhập nó vào)
nijave
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.