web-dev-qa-db-ja.com

それをブロックする入力フィールドにテキストを貼り付ける方法は?

多くのWebページで、JavaScriptを使用したコピー/貼り付けをブロックしています。

そのような入力を正常に機能させる方法はありますか(たとえば、コピー/貼り付けを有効にします)?

Google Chromeを使用しています。

14
syntagma

テキストを強調表示して、テキストフィールドにドラッグするだけです。やってみよう こちら

これは、FirefoxとChromeで機能します。

16
HullCityFan852

ハックで常に機能するとは限りませんが、多くの場合、リスナーが設定されているだけです CTRL+CCTRL+V あなたはそれを使ってそれを回避することができます CTRL+INSSHIFT+INS コピー/貼り付けの代わりに。

フラッシュを使用して空の文字列をループ(Twitch)でクリップボードに書き込むなど、間抜けなことをしている場合は、運が悪いです。

7
Junkiebev

Firefoxを使用している場合、私は次の解決策を見つけました。ただし、最低限必要なバージョンは不明です。

  1. about:configに移動
  2. dom.event.clipboardevents.enabledを検索
  3. ダブルクリックして値をfalseに変更します

これにより、変更後すぐに貼り付けることができました。ブラウザを再起動する必要すらありませんでした。

5
Mirrana
5
user276648

F12キーを押して、次のコードをコンソールに貼り付けます。

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

Googleの最も使いやすい回避策(使いやすさの観点から)Chromeは コピーを許可 拡張を追加することです。

2
user373230

単純なブックマークレットを使用して、ページの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
Mokubai

これに私のソリューションを追加することを決定します(このリポジトリと拡張機能からインスピレーションを得たブックマークレットを作成します 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

1
Legion

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
0
J. Does