Do not go gentle into that good night
防止文本复制是很多小说或者资料网站中常用的功能,虽然我工作中没有用到,不过因为朋友拜托所以稍微研究了一下,文中代码均为转载,来源已经找不到了请谅解;
首先需要说明的是,op主只在jsp页面上进行过测试,由于学的太早所以记得不是很清楚;可能html页面上效果是相同的,不过没有做进一步测试,有需要的朋友可以自行测试一下;
关于浏览器的版本如下,各个浏览器能否实现的情况会在功能后面以浏览器首字母标识;
测试浏览器:
火狐:41.0.2
Chrome:41.0.2224.3
IE:11.0.9600.18053
小知识:如何查看火狐浏览器版本;
说明:因为一搜发现什么百度经验上面都是很旧的版本查看方式了,自己找了一会儿才找到,特此记录;
在这里:
代码片段1:
功能:
- 禁用鼠标左键; C I
- 禁用鼠标右键; F C I
- 禁用鼠标点击选择文本;C I
<script>
document.oncontextmenu = function() {
return false;
}
document.onkeydown = function() {
if (window.event.ctrlKey && window.event.keyCode == 67) {
return false;
}
return false;
}
document.body.oncopy = function() {
return false;
}
document.onselectstart = function() {
return false;
}
document.onselectstart=function(){return false};
document.style.MozUserSelect="none";
document.onmousedown=function(){return false};
document.style.cursor = "default";
</script>
代码片段2:
功能:
- 禁用鼠标左键; F I
- 禁用鼠标右键; F I
- 禁用鼠标点击选择文本;F I
<head>
<script type="text/javascript">
function disableSelection(target) {
if (typeof target.onselectstart != "undefined") //IE route
target.onselectstart = function() {
return false
}
else if (typeof target.style.MozUserSelect != "undefined") //Firefox route
target.style.MozUserSelect = "none"
else
//All other route (ie: Opera)
target.onmousedown = function() {
return false
}
target.style.cursor = "default"
}
</script>
</head>
<body>
<div id="test">
这里填写文本内容,但需要自己设定html格式;
</div>
<script type="text/javascript">
var somediv = document.getElementById("test")
disableSelection(somediv) //disable text selection within DIV with id="mydiv"
</script>
</body>
</html>