我有一个网页(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,则选择所有文本。我有两种方法来保护它。但我想与您分享以获得一些反馈。
非常感谢您的反馈和帮助。
答案 0 :(得分:0)
您可以使用画布绘制文字。示例:http://jsfiddle.net/ExWei/hZmM2/
您可以在文本区域放置透明图像。 (使用CSS)
用于阻止 CTRL 的脚本 - U , CTRL - C , CTRL - 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)">