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


14

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

そのような入力を正常に機能させる方法はありますか(コピー/貼り付けを有効にするなど)。

Google Chromeを使用しています。


その可能性は非常に低いです。彼らは理由もなくそれを入れないので、それを回避するあらゆる種類の方法もブロックします。
LPChip

このようなスクリプトを回避する方法はたくさんあり、専用のブラウザ拡張機能はこの問題の多くの警告を解決するはずです。
シンタグマ

1
すでにこれを知っている場合、なぜ質問を投稿するのですか?
LPChip

私はそれが実行可能であることを知っています、そのような拡張については知りません。
シンタグマ

Firefoxを使用している場合は、about:configに移動し、dom.event.clipboardevents.enabledをfalseに変更できます。類似したものがChromeに存在するかどうかはわかりません。
-user276648

回答:


16

テキストを強調表示して、テキストフィールドにドラッグするだけです。ここで試してみてください

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


1
素晴らしい解決策!クロムでは、この文字列をアドレスバー「data:text / html、<html contenteditable>」(引用符なし)に入力して、空白のキャンバスを取得できます。そのブックマークを作成しました。これで、この空白のページにテキストを貼り付け、入力が必要なフィールドにドラッグできます。
薄い

これが一番だ。開発者コンソールでjsを実行しようとすると、頭痛がしました。どうもありがとう!
Millar248

クールな男?ありがとう。私の時間を節約してくれた。
ビタリペトロフ

7

それはハックで常に動作しませんが、多くの場合、CTRL+ C/に設定されたリスナーがあり、コピー/ペーストの代わりに+ / + CTRL+Vを使用することで回避できます。CTRLINSSHIFTINS

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


5

こちらがオープンソースのChrome拡張機能です

https://chrome.google.com/webstore/detail/dont-fuck-with-paste/nkgllhigpcljnhoakjkgaieabnkmgdkb

コードに興味がある場合https://github.com/jswanner/DontFuckWithPaste


1
これが正解です。Do n't Fuck With PasteはGithubで465つ星を獲得しており、Chromeストアでは実質的に5つ星の評価を獲得しており、413件のレビューがあります。これは本当に助けになりました。ありがとう!
ベン

私にとって、この拡張機能は役立ちますが、すべてのサイトで機能するわけではありません。
薄い

5

Firefoxを使用している場合、次の解決策が見つかりました。ただし、必要な最小バージョンはわかりません。

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

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


2

Google Chromeの最も簡単な回避策(使いやすさ)は、Allow Copy拡張機能を追加することです。


2
インストールする前に、拡張機能を慎重に確認してください。レビュー担当者は、マルウェアであると主張しています。
ジョージ

2

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

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

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を使用してそれを無効にするドキュメントのコピーも許可します。

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
私はこれが好きです:^ Q :: SendInput、{Raw}%clipboard%CTRL-Qはキーボードの内容を入力として送信します(入力するのと同様)
18
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.