如何禁止网页内容被复制

发表时间
评论 没有

JavaScript脚本的方式

通过JavaScript脚本限制复制功能是最常用的方法,具体的实现方式有以下几种:

// 禁用右键菜单、复制、选择
$(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能够保证在用户禁用JavaScript脚本的情况下,复制功能也会被禁止。实现方式如下:

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属性 */
}

HTML属性的方式

HTML的标签提供了一些属性来禁用或开启复制功能。禁止复制和剪切:oncopy=“return false;“oncut=“return false;“实现方式如下:

<body oncopy="return false" oncut="return false;" onselectstart="return false" >   

防止查看源代码进行复制的方法:

通过js实现静止右键和F12,Shift+F10,Ctrl+Shift+I等查看源代码的方法:

<script language="javascript">
	function click(e) {
		if(document.all) {

			if(event.button == 2 || event.button == 3) {
				oncontextmenu = 'return false';
			}
		}
		if(document.layers) {
			if(e.which == 3) {
				oncontextmenu = 'return false';
			}
		}
	}
	if(document.layers) {
		document.captureEvents(Event.MOUSEDOWN);
	}
	document.onmousedown = click;
	document.oncontextmenu = new Function("return false;")
	document.onkeydown = document.onkeyup = document.onkeypress = function() {
		//123屏蔽F12,73屏蔽Ctrl+Shift+I,121屏蔽Shift+F10
		if(window.event.keyCode == 123 || window.event.keyCode == 73 || window.event.keyCode == 121) {
			window.event.returnValue = false;
			return(false);
		}
	}
</script>

作者
分类 网站建设

评论

本文评论功能已关闭。

← 较早的 较新的 →

相关文章