多くのWebページで、JavaScriptを使用したコピー/貼り付けをブロックしています。
そのような入力を正常に機能させる方法はありますか(たとえば、コピー/貼り付けを有効にします)?
Google Chromeを使用しています。
テキストを強調表示して、テキストフィールドにドラッグするだけです。やってみよう こちら !
これは、FirefoxとChromeで機能します。
ハックで常に機能するとは限りませんが、多くの場合、リスナーが設定されているだけです CTRL+C / CTRL+V あなたはそれを使ってそれを回避することができます CTRL+INS / SHIFT+INS コピー/貼り付けの代わりに。
フラッシュを使用して空の文字列をループ(Twitch)でクリップボードに書き込むなど、間抜けなことをしている場合は、運が悪いです。
Firefoxを使用している場合、私は次の解決策を見つけました。ただし、最低限必要なバージョンは不明です。
about:config
に移動dom.event.clipboardevents.enabled
を検索false
に変更しますこれにより、変更後すぐに貼り付けることができました。ブラウザを再起動する必要すらありませんでした。
これがオープンソースですChrome Extention
https://chrome.google.com/webstore/detail/dont-fuck-with-paste/nkgllhigpcljnhoakjkgaieabnkmgdkb
コードに興味がある場合 https://github.com/jswanner/DontFuckWithPaste
F12キーを押して、次のコードをコンソールに貼り付けます。
var allowPaste = function(e){
e.stopImmediatePropagation();
return true;
};
document.addEventListener('paste', allowPaste, true);
Googleの最も使いやすい回避策(使いやすさの観点から)Chromeは コピーを許可 拡張を追加することです。
単純なブックマークレットを使用して、ページの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を使用してフォームを送信した場合、そのテキストボックスに貼り付けることができる一方で、それも壊れることです。
これに私のソリューションを追加することを決定します(このリポジトリと拡張機能からインスピレーションを得たブックマークレットを作成します 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);
})();
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