これは何ですか?
コピペをできなくするプラグイン ではありません。←重要
そんなの無理だ。諦めろ。
コピーしようとするテキストが個人情報等を含んでいる等で、扱いに注意を促すためのものです。
なんだったらカジュアルなコピーをできなくすることもできるプラグインです。
巷によくある右クリックを禁止する乱暴なやつとは異なり、特定のセレクタの要素をコピーしたときに発動します。
そのため、コピー許可要素に対しては余計なことをしません。
使い方
sample.js
$(document).copyGuard({
guardSelector: '.copyGuard', //コピー禁止領域のセレクタ―
isCopyDeny: function(){ //コピー禁止領域をコピーしようとした際の関数。
alert("個人情報を含んでいますよ")
return true; //trueを返すとコピー不許可とみなし、クリップボードの中身をクリアする
},
});
sample.html
<div>
ここはコピー許可
<div style="border:1px solid;" class="copyGuard">
ここはコピー禁止
<div id="aaa">
子要素でもコピー禁止
</div>
</div>
</div>
「ここはコピー禁止」「子要素でもコピー禁止」を含んだ要素をコピーしようとするとalertを表示します。
isCopyDenyでtrueを返せば「コピー不許可」とみなし、クリップボードの中身をクリアします。
逆に言うと、falseを返せばコピー許可なので、動作を自由にカスタマイズできます。
(パスワードを入力したときだけコピー可とか。そのパスワードもjs内に書いてあるんだろうから意味ないけど)
繰り返しますが
jsを無効にしているといくらでもコピーできます。あくまで注意喚起を行うことが目的のプラグインです。
動作
window.getSelection()
が動くブラウザ。古いIEでは動きません。
対応できればします。行けたら行く的な。