JavaScript防止网页被拷贝程序代码

2016-02-22    编辑:bluestart     点击(
现在原创站长越来越少了很多站长都到处复制内容,那么有没有办法来禁止用户经易复制网站的内容呢,下面我来给大家详细介绍各种JavaScript防止网页被拷贝程序代码,有需要用上的朋友可参考本教程。

1、使右键和复制失效

方法1:

禁止鼠标右键+禁止选中文本代码很简单,只需要在head标签的javascript内加入以下两行代码即可。

在网页中加入以下代码:

 代码如下 复制代码

<script language="Javascript">
document.oncontextmenu=new Function("event.returnValue=false");
document.onselectstart=new Function("event.returnValue=false");
</script>

使用了jQuery的页面中可以这么写:

document.oncontextmenu=function(e){return false;}
$('body').bind("selectstart",function(){return false;});

方法2:

在<body>中加入以下代码:

 代码如下 复制代码
<body oncontextmenu="return false" onselectstart="return false">

<body oncontextmenu="event.returnValue=false" onselectstart="event.returnValue=false">

实质上,方法2与方法1是一样的。

方法3:
如果只限制复制,可以在<body>加入以下代码:

 代码如下 复制代码
<body oncopy="alert('对不起,禁止复制!');return false;">

2、使菜单"文件"-"另存为"失效

如果只是禁止了右键和选择复制,别人还可以通过浏览器菜单中的"文件"-"另存为"拷贝文件。为了使拷贝失效,可以在

 代码如下 复制代码
<body>与</body>之间加入以下代码:
<noscript>
<iframe src="*.htm"></iframe>
</noscript>

这样,用户在另存网页时,就会出现"无法保存Web页"的错误。

3、禁止复制

使用方法:在oncopy事件中return false

 代码如下 复制代码
oncopy="return false;"

1、禁止复制网页内容

 代码如下 复制代码
<body oncopy="return false;">

2、禁止复制元素内容

 代码如下 复制代码
<input type="text" name="username" oncopy="return false;" />

二、禁止粘贴

使用方法:在onpaste事件中return false

onpaste="return false;"禁止将内容粘贴到元素中

 代码如下 复制代码
<input type="password" name="pwd" onpaste="return false;" />

三、复制粘贴来源信息

为了防止拷贝党在转载时不注明来源信息,所以需要在其复制时,自动在复制的内容后添加版权声明(默认延迟:100毫秒)

需要使用到clipboardData对象:

getData("Text")方法:获得剪贴板的文本信息

setData("Text",val)方法:设置剪贴板的文本信息

setTimeout(code,delay)方法:超时执行指定的code代码

 代码如下 复制代码

<html>
<head>
<title>Paste Source Information</title>
<script type="text/javascript">
    function copysource(){
        var source = clipboardData.getData("Text");
        source = source + "本文来自博www.111cn.net :" + window.location.href;
        clipboardData.setData("Text", source);
    }
</script>
</head>
<body oncopy="window.setTimeout('copysource()',100);">
</body>
</html>


注意:上面的代码在IE和Chrome下测试通过,但是在Firefox下鼠标右键不能用但依然可以选中文本,所以出于兼容性考虑,

需要在body的style中加入这么一个属性:

 代码如下 复制代码

 -moz-user-select:none;

这样一来就不用担心自己的网站内容被别人随便复制了。