4

一部のテキストをコピー不可にしようとしています。私の目的は、人々が私のWebサイトからテキストをコピーするのを阻止することではなく、使いやすくすることです。ファイルサイズのファイルのリストがありますが、ファイル名のみをコピーし、ファイルサイズはコピーしたくありません。

これまでにいくつかの異なる方法を試しましたが、うまくいきませんでした。CSSユーザー選択でテキストを選択できなくなりましたが、2行以上を選択してもファイルサイズをコピーできます。

コピーを防ぐためにボタンを使ってみましたが、うまくいきませんでしたが、何かアイデアはありますか?

<a href="http://10.10.10.1/links/file.doc"file.doc</a>
 <button type="button" disabled="disabled" id="filesize">6 MB</button><br \>

ターゲットブラウザはMacのSafariであるため、最新のSafariで動作する実験的なCSS3またはHTML5コマンドで問題ありません。

(提案されたタイトルと1つの解決策をmvdsに感謝します)

4

3 に答える 3

3

これを機能させるためのかなりハッキーな方法は、 cssプロパティを使用してテキストを挿入するために::beforeまたは疑似要素を使用することです。::aftercontent:

HTML:

<a href="http://10.10.10.1/links/file.doc">file.doc</a>  
<button type="button" disabled="disabled" id="filesize"><i></i></button>

CSS:

button i:before {
 content: '6 MB';
}

長所:機能します。複数の行を選択してもクリップボードにコピーされません。

短所:疑似要素は通常のドキュメントフローの外に挿入されるため、CSSのスタイル設定には特別な注意が必要です。複数の要素にプロパティを使用するにはcontent:、カスタムタグまたはインラインcssも必要になります。

于 2015-08-09T05:18:43.783 に答える
2

醜いハックアラート:テキストの2つのバージョンを作成します。1つはサイズあり、もう1つはサイズなし、それ以外は同一で、重複するdivに配置し、サイズなしのバージョンのz-indexを高くします。

クロスブラウザではないかもしれないより良い解決策は、

<input type="text" value="(6 MB)" style="border:0; ...">

「コピー時にテキストの一部を除外する方法」という質問の名前を変更することをお勧めします。現在のところ、この質問は非常に興味深いものですが、平均的な絶望的なコピー防止スキームを探しているように思われるからです。

于 2010-07-17T11:49:21.267 に答える
0

次のように、スパン(または実際には任意のテキストコンテナ)とunselectable属性を使用します。

<a href="http://10.10.10.1/links/file.doc">file.doc</a>
<span unselectable="on">6 MB</span>

これですべてが機能するわけではありませんが、特定のブラウザターゲットがあるため、状況に応じて問題なく機能します:)

そこにいる間にさらにいくつかのブラウザを簡単にサポートするために、そこにいくつかのCSSをスローし、最初に次のようなクラスを定義することができます。

.unselectable { 
  user-select: none; 
  -moz-user-select: none; 
  -khtml-user-select: none; 
}

次に、次のように割り当てます。

<a href="http://10.10.10.1/links/file.doc">file.doc</a>
<span class="unselectable" unselectable="on">6 MB</span>
于 2010-07-17T11:14:33.017 に答える