0

ユーザーがコピーするのをブロックするためにコンテンツを保護したいテキストを含むWebページ(Ruby on Rails)があります(ctrl + c)。

もちろん「守り」はあるけど、それだけじゃ足りない

$(function(){
    $('a.fancybox').fancybox();
    $('.prevent_select').disableSelection();
});


$.support.selectstart = "onselectstart" in document.createElement("div");
$.fn.disableSelection = function() {
    return this.bind( ( $.support.selectstart ? "selectstart" : "mousedown" ) +
        ".ui-disableSelection", function( event ) {
        event.preventDefault();
    });
};

ユーザーが CTRL+A を使用すると、すべてのテキストが選択されます。それを守るために、私は2つの方法を考えています。しかし、いくつかのフィードバックを得るために、あなたと共有したいと思います。

  • テキストを表示するために、swf (マクロメディア フラッシュ) を使用することは可能ですか? (いくつかのGEM?)
  • ユーザーがctrl + cを使用していることをWebページが検出したときに、常にユーザーバッファを「削除」することは可能ですか?
  • 他のアイデアはありますか?

私はあなたのフィードバックと助けに本当に感謝しています.

4

1 に答える 1

0

キャンバスを使用してテキストを描画できます。例: http://jsfiddle.net/ExWei/hZmM2/

テキストゾーンに透過画像を配置できます。(CSS を使用)

CTRL- UCTRL- CCTRL -をブロックするためのスクリプトA:

document.ondragstart = test;
document.onselectstart = test;
document.oncontextmenu = test;
function test() 
{
    return false;
}

document.oncontextmenu;

function catchControlKeys(event)
{
    var code=event.keyCode ? event.keyCode : event.which ? event.which : null;
    if (event.ctrlKey)
    {
        // Ctrl+U
        if (code == 117) return false;
        if (code == 85) return false;
        // Ctrl+C
        if (code == 99) return false;
        if (code == 67) return false;
        // Ctrl+A
        if (code == 97) return false;
        if (code == 65) return false;
    }
}

このスクリプトの変更を使用するには

<body>

<body onkeypress="return catchControlKeys(event)">
于 2013-10-12T12:51:41.490 に答える