辛辛苦苦编辑的内容,一个复制、粘贴操作就被转载/盗用了,让原创者情何以堪!
公司项目中正好需要使用,参考了若干文档,写了一个兼容所有浏览器的禁止复制网页内容的代码。
以下为jQuery写法:
// 禁用右键菜单、复制、选择(除Firefox/Opera不支持,其它所有浏览器均支持) $(document).bind("contextmenu copy selectstart", function() { return false; }); // 禁用Ctrl+C和Ctrl+V(所有浏览器均支持) $(document).keydown(function(e) { if(e.ctrlKey && (e.keyCode == 65 || e.keyCode == 67)) { return false; } }); // 设置CSS禁止选择(如果写了下面的CSS则不需要这一段代码,新版浏览器支持) $(function() { $("body").css({ "-moz-user-select":"none", "-webkit-user-select":"none", "-ms-user-select":"none", "-khtml-user-select":"none", "-o-user-select":"none", "user-select":"none" }); });
防止禁用JavaScript后失效,可以写在CSS中(新版浏览器支持,并逐渐成为标准):
body { -moz-user-select:none; /* Firefox私有属性 */ -webkit-user-select:none; /* WebKit内核私有属性 */ -ms-user-select:none; /* IE私有属性(IE10及以后) */ -khtml-user-select:none; /* KHTML内核私有属性 */ -o-user-select:none; /* Opera私有属性 */ user-select:none; /* CSS3属性 */ }
原生JavaScript写法:
document.body.onselectstart = function() { return false; }; document.oncontextmenu = function() { return false; }; document.body.oncopy = function() { return false; };
如果用户禁用了JavaScript、且他的浏览器也不支持新的CSS属性,那就无能为力了。如果有兴趣查看源代码,就随他去吧!