Bagaimana cara menempelkan teks ke bidang input yang memblokirnya?


14

Pada banyak halaman web mereka memblokir copy / paste menggunakan JavaScript.

Apakah ada cara untuk membuat input seperti itu berfungsi sebagaimana mestinya (mis. Aktifkan salin / tempel)?

Saya menggunakan Google Chrome.


Sangat tidak mungkin. Mereka tidak melakukan itu tanpa alasan, jadi mereka juga akan memblokir segala cara untuk menghindarinya.
LPChip

Ada banyak cara untuk menghindari skrip semacam itu dan ekstensi peramban yang berdedikasi harus menyelesaikan banyak masalah ini.
syntagma

1
Jika Anda sudah tahu ini, mengapa Anda memposting pertanyaan?
LPChip

Saya tahu itu bisa dilakukan, saya tidak tahu tentang ekstensi semacam itu.
syntagma

Jika Anda menggunakan Firefox, Anda dapat mengunjungi: config dan mengubah dom.event.clipboardevents.enabled menjadi false. Saya tidak tahu apakah ada yang serupa di Chrome.
user276648

Jawaban:


16

Cukup sorot teks dan seret ke bidang teks. Coba di sini !

Ini berfungsi untuk saya di Firefox dan Chrome.


1
Solusi hebat! Di chrome, Anda dapat memasukkan string ini ke bilah alamat "data: text / html, <html contenteditable>" (tanpa tanda kutip) untuk mendapatkan kanvas kosong. Saya membuat bookmark untuk itu. Sekarang saya bisa menempelkan teks saya ke halaman kosong ini, lalu seret ke bidang yang perlu diisi.
kurus

Ini yang terbaik. Mencoba menjalankan js di konsol pengembang memberi saya sakit kepala. Terimakasih banyak!
Millar248

Pria keren? terima kasih .. kamu menghemat waktuku.
Vitali Petrov

7

Ini peretasan dan tidak akan selalu berfungsi tetapi sering kali hanya ada set pendengar untuk CTRL+ C/ CTRL+Vdan Anda dapat menyiasatinya dengan menggunakan CTRL+ INS/ SHIFT+ INSalih-alih menyalin / menempel.

Jika mereka melakukan sesuatu yang konyol seperti menggunakan flash untuk menulis string kosong ke clipboard dalam satu lingkaran (kedutan) maka Anda kurang beruntung.


5

1
Ini seharusnya jawaban yang benar. Don't Fuck With Paste memiliki 465 bintang di Github dan praktis peringkat bintang 5 di Toko Chrome - dengan 413 ulasan. Ini sangat membantu saya. Terima kasih!
Ben

Bagi saya, ekstensi ini membantu, tetapi tidak berfungsi di semua situs.
kurus

5

Jika Anda menggunakan Firefox, saya menemukan solusi berikut. Namun, tidak yakin versi minimum apa yang diperlukan.

  1. Pergi ke about:config
  2. Pencarian untuk dom.event.clipboardevents.enabled
  3. Klik dua kali untuk mengubah nilainya menjadi false

Ini memungkinkan saya untuk menempel segera setelah mengubahnya. Saya bahkan tidak perlu me-restart browser.


2

Solusi termudah (dalam hal kemudahan penggunaan) untuk Google Chrome adalah menambahkan Izinkan ekstensi Salin .


2
Hati-hati memeriksa ekstensi itu sebelum menginstal. Peninjau mengklaim itu malware.
George

2

Tekan F12 dan rekatkan kode berikut ke konsol.

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

1

Anda bisa menonaktifkan JavaScript pada halaman menggunakan bookmarklet sederhana. Dari. http://javascript.about.com/library/bldis.htm

Jika Anda membuat bookmark yang berisi skrip berikut sebagai tautan (atau bahkan menempelkan kode ini ke bilah alamat dan tekan enter) maka itu akan merobek semua JavaScript dari halaman saat ini:

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

Masalahnya tentu saja adalah bahwa sementara Anda sekarang akan dapat menempel ke kotak teks itu jika formulir yang digunakan JavaScript untuk mengirimkan formulir maka itu juga akan rusak.


1

Putuskan untuk menambahkan solusi saya untuk ini (membuat bookmarklet terinspirasi dari repo ini dan ekstensi https://github.com/jswanner/DontFuckWithPaste ) Bookmarklet ini juga akan memungkinkan menyalin pada dokumen yang menonaktifkan yang menggunakan 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


Tolong jangan memposting jawaban yang sama untuk beberapa pertanyaan. Jika informasi yang sama benar-benar menjawab kedua pertanyaan, maka satu pertanyaan (biasanya yang baru) harus ditutup sebagai duplikat dari yang lain. Anda dapat menunjukkan ini dengan memilih untuk menutupnya sebagai duplikat atau, jika Anda tidak memiliki reputasi yang cukup untuk itu, angkat bendera untuk menunjukkan bahwa itu adalah duplikat. Jika tidak, sesuaikan jawaban Anda untuk pertanyaan ini dan jangan hanya menempelkan jawaban yang sama di banyak tempat.
DavidPostill

0

Pada windows Anda dapat menggunakan AutoHotkey

sintaksis:

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

contoh: jika Anda mengetiknya xyzakan menulis teks di bawah ini (seolah-olah ditulis)

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

1
Saya suka yang ini: ^ Q :: SendInput, {Raw}% clipboard% CTRL-Q mengirimkan isi keyboard sebagai input (mirip dengan mengetiknya)
nijave
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.