3

JavaScript を使用してこれを実現できることはわかっていますが、Web ブラウザーで JavaScript を無効にすると、ユーザーは簡単にテキストをコピーできます。CSSを使用してこれを行う方法はありますか?

4

8 に答える 8

33

誰かにテキストをコピーされたくない場合は、Web 上に配置しないでください。

Web のソースは表示可能で、自由に読んだり、コピーしたりできます。

すべての CSS、JavaScript、または架空のトリックを使用しても、ユーザーが手動でテキストを読み取って別のドキュメント/場所にコピーすることを妨げるものは何もありません。

あなたが望むことができる最善の方法は、あなたのテキストをコピーするのを思いとどまらせるのに十分なほど人々を苛立たせることです. しかし、他のすべてのことと同様に、粘り強い人はそれをやってのけることができます.

それが私たち人間のすることです。

于 2012-06-07T11:02:19.170 に答える
12
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
于 2012-06-07T12:50:28.500 に答える
8

十分に決心した誰かがあなたのウェブサイトのテキストをコピーするのを止める方法はありません。ページのコピーと貼り付けまたはダウンロードをブロックして、表示のみで保存しない(保存されていない)という架空の完璧な方法があったとしても、十分な時間とモチベーションを持っている人は、本当に必要な場合は手でテキストを入力することができますそれ。

ウェブはオープンになるように設計されています。そしてそれも良いことです。1991年に作成されたWebページからデータを抽出することは特に難しいことではありません。Microsoft製品を使用せずに、同じ時代のMicrosoftWord文書で同じことを試してみてください。

于 2012-06-07T13:58:36.590 に答える
5

同様の質問がここにあり、いくつかの良い答えがあるため、古い地面については説明しません

何をしても、ユーザーはページのソースを表示して、そこから何かをコピーできます。それを完全に防ぐ唯一の方法は、テキストをまったく表示しないことです (たとえば、画像を表示するか、アクセシビリティにあまり適していない画像を動的に作成します)。

于 2012-06-07T10:53:06.883 に答える
2
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;

これは、ユーザーがテキストを選択できないようにする良い方法です。そして、これは悪い答えではありません。たとえば、Canvas (HTML5) を使用する Web サイトで作業していて、ユーザーがこのキャンバスにドラッグ アンド ドロップできるようになっているとします。ユーザーがキャンバス定義ゾーンの外に出ると、テキストが「選択」され始めます。これは醜いです。したがって、明らかに人間工学的な理由から、これは良い方法です。

于 2013-05-16T14:35:58.930 に答える
2

Web はオープン ソースであり、自由に読むことができます。Java スクリプトを使用してもコンテンツをコピーするよう人々に警告する方法はありませんが、CSS を介して警告することはできます。以下のようなトリック。

これを試して...

p
{
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
于 2012-06-07T10:57:25.383 に答える
0

あなたのクライアントや他の多くのクライアントが探しているものは、Web ページがどのように送信されるかを理解していないため不可能ですが、これらのクライアントは、ユーザーがテキストをコピーするのを「困難」にすることに満足するでしょう。コピー不可としてマークできるテキストが便利な機能になる他のユースケースがあります。たとえばタイムスタンプ。

前の回答によると、css でこれを行う方法はuser-selectcss プロパティを使用しているように見えますが、これによりテキストが選択されているように見えなくなりますが、クリップボードにコピーされます。ただし、これは css だけで得られる最善の方法であり、一部のユーザーがコンテンツをコピーするのを思いとどまらせる可能性があります。

Javascript はさらに一歩進んで、開発者ツールを使用せずにブラウザー ウィンドウからコピーすることを困難にします。

于 2013-04-16T20:36:21.350 に答える