Metni engelleyen giriş alanlarına nasıl yapıştırabilirim?


14

Birçok web sayfasında JavaScript kullanarak kopyala / yapıştır özelliğini engelliyorlar.

Bu tür girişlerin olması gerektiği gibi çalışması için herhangi bir yol var mı (örneğin kopyala / yapıştır özelliğini etkinleştir)?

Google Chrome kullanıyorum.


Çok olası değil. Bunu sebepsiz yere koymuyorlar, bu yüzden onu atlatmak için herhangi bir yolu da engelleyecekler.
LPChip

Bu tür komut dosyalarını atlatmanın birçok yolu vardır ve özel bir tarayıcı uzantısı bu sorunun birçok uyarısını çözmelidir.
syntagma

1
Bunu zaten biliyorsanız, soruyu neden gönderiyorsunuz?
LPChip

Yapılabilir olduğunu biliyorum, böyle bir uzantı hakkında bilmiyorum.
sözdizimi

Firefox kullanıyorsanız, about: config ve dom.event.clipboardevents.enabled öğesini false olarak değiştirebilirsiniz. Chrome'da benzer bir şey olup olmadığını bilmiyorum.
user276648

Yanıtlar:


16

Metni vurgulayın ve metin alanına sürükleyin. Burada deneyin !

Bu benim için Firefox ve Chrome'da çalışıyor.


1
Harika bir çözüm! Chrome'da boş bir tuval elde etmek için bu dizeyi "data: text / html, <html contenteditable>" (tırnak işaretleri olmadan) adres çubuğuna koyabilirsiniz. Bunun için bir yer imi oluşturdum. Şimdi metnimi bu boş sayfaya yapıştırabilirim, ardından doldurulması gereken alanlara sürükleyebilirim.
ince

Bu en iyisi. Geliştirici konsolunda js çalıştırmaya çalışmak başım ağrıyordu. Çok teşekkürler!
Millar248

Havalı adam? teşekkür ederim .. Zamanımı kurtardın.
Vitali Petrov

7

Her zaman işe yaramaz ve her zaman işe yaramaz, ancak çoğu zaman CTRL+ C/ için ayarlanmış bir dinleyici vardır CTRL+Vve kopyala / yapıştır yerine CTRL+ INS/ SHIFT+ kullanarak INSdolaşabilirsiniz.

Eğer bir döngüde (seğirme) panoya boş bir dize yazmak için flaş kullanmak gibi aptalca bir şey yapıyorlarsa o zaman şansınız kalmaz.


5

1
Bu doğru cevap olmalı. Don't Fuck With Paste, Github'da 465 yıldız ve Chrome Mağazası'nda pratik olarak 5 yıldız ile 413 yorum içeriyor. Bu bana gerçekten yardımcı oldu. Teşekkürler!
Ben

Benim için bu uzantı yardımcı oluyor, ancak tüm sitelerde çalışmıyor.
ince

5

Firefox kullanıyorsanız, aşağıdaki çözümü buldum. Ancak hangi minimum sürümün gerekli olduğundan emin değilim.

  1. Adresine git about:config
  2. Aramak dom.event.clipboardevents.enabled
  3. Değeri olarak değiştirmek için çift tıklayın false

Bu, değiştirdikten hemen sonra yapıştırmamı sağladı. Tarayıcıyı yeniden başlatmam bile gerekmedi.


3

F12 tuşuna basın ve aşağıdaki kodu konsola yapıştırın.

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

Programlı yol. teşekkürler
Jaber Al Nahian

2

Google Chrome için en kolay geçici çözüm (kullanıcı dostu olma açısından) Kopyalamaya İzin Ver uzantısını eklemek olacaktır .


2
Takmadan önce bu uzantıyı dikkatlice inceleyin. İnceleyenler kötü amaçlı yazılım olduğunu iddia ediyor.
George

1

Basit bir yer işareti kullanarak sayfadaki JavaScript'i devre dışı bırakabilirsiniz. Gönderen. http://javascript.about.com/library/bldis.htm

Aşağıdaki komut dosyasını bağlantı olarak içeren bir yer işareti oluşturursanız (veya bu kodu adres çubuğuna yapıştırıp enter tuşuna basarsanız), geçerli JavaScript'in tüm JavaScript'ini kopyalar:

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

Sorun şu ki, form göndermek için JavaScript kullanıyorsa, o metin kutusuna yapıştırabileceğiniz halde, o zaman da kırılacaktır.


1

Çözümümü buna eklemeye karar ver (bu repo ve uzantıdan esinlenerek bir yer imi oluşturmak https://github.com/jswanner/DontFuckWithPaste ) Bu yer imi, javascript kullanarak bu özelliği devre dışı bırakan belgelerin kopyalanmasına da izin verecektir.

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


Lütfen aynı cevabı birden fazla soruya göndermeyin. Aynı bilgi gerçekten her iki soruyu da cevaplıyorsa, bir soru (genellikle daha yeni olan) diğerinin kopyası olarak kapatılmalıdır. Bunu bir kopya olarak kapatmak için oy vererek veya bunun için yeterli bir itibara sahip değilseniz, bir kopya olduğunu belirtmek için bir bayrak kaldırın . Aksi takdirde yanıtınızı bu soruya uyarlayın ve aynı yanıtı birden fazla yere yapıştırmayın.
DavidPostill

0

Windows'da AutoHotkey'i kullanabilirsiniz

sözdizimi:

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

örnek: xyzyazarsanız aşağıdaki metni yazacaktır (yazıldığı gibi)

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

1
Bunu beğendim: ^ Q :: SendInput, {Raw}% clipboard% CTRL-Q klavyenin içeriğini girdi olarak gönderir (yazmaya benzer)
nijave
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.