1. 程式人生 > >網站內容禁止復制解決辦法

網站內容禁止復制解決辦法

In select event type ref auto ont lib color

第一種方法:

加入以下js代碼

<script type="text/javascript">

// oncontextmenu 事件在元素中用戶右擊鼠標時觸發並打開上下文菜單

document.oncontextmenu=new Function("event.returnValue=false");

// onselectstart幾乎可以用於所有對象,其觸發時間為目標對象被開始選中時(即選中動作剛開始,尚未實質性被選中)

document.onselectstart=new Function("event.returnValue=false");

</script>
例子:

<!DOCTYPE html>

<html lang="zh">

<head>

<meta charset="UTF-8" />

<style>

*{margin: 0;padding: 0;}

.container h1 {color: gold;text-align:center;margin-bottom:30px;}

.container p {width: 500px;margin:0 auto;color: purple;text-indent: 30px;}

</style>

</head>

<body>

<div class="container">

<h1>網頁標題</h1>

<p>

詳細內容 (不想被復制的)

</p>

</div>

<!-- 第一種方法:通過js代碼實現 -->

<script type="text/javascript">

// oncontextmenu 事件在元素中用戶右擊鼠標時觸發並打開上下文菜單

document.oncontextmenu=new Function("event.returnValue=false");

// onselectstart幾乎可以用於所有對象,其觸發時間為目標對象被開始選中時(即選中動作剛開始,尚未實質性被選中)

document.onselectstart=new Function("event.returnValue=false");

</script>

</body>

</html>

第二種方法:
在<body>中加入以下代碼:

<body oncontextmenu="return false" onselectstart="return false">

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

body中加入代碼的這種方法有個缺陷就是取決於body的內容,如果body內容較少,從body下方往上選中內容,仍然是可以復制網站的內容的。


第三種方法:
如果只限制復制,可以在<body>加入以下代碼:
<body oncopy="alert(‘對不起,禁止復制!‘);return false;">
例子:

<!DOCTYPE html>

<html lang="zh">

<head>

<meta charset="UTF-8" />

<style>

*{margin: 0;padding: 0;}

.container h1 {color: gold;text-align:center;margin-bottom:30px;}

.container p {width: 500px;margin:0 auto;color: purple;text-indent: 30px;}

</style>

</head>

<body oncopy="alert(‘對不起,禁止復制!‘);return false;">

<div class="container">

<h1>標簽</h1>

<p>

詳細內容 (不想被復制的)

</p>

</div>

</body>

</html>

第四種方法:
禁用Ctrl+C和Ctrl+V,代碼:

// 禁用Ctrl+C和Ctrl+V(所有瀏覽器均支持)

$(document).keydown(function(e) {

if(e.ctrlKey && (e.keyCode == 86 || e.keyCode == 67)) {

return false;

}

});
例子

<!DOCTYPE html>

<html lang="zh">

<head>

<meta charset="UTF-8" />

<style>

*{margin: 0;padding: 0;}

.container h1 {color: gold;text-align:center;margin-bottom:30px;}

.container p {width: 500px;margin:0 auto;color: purple;text-indent: 30px;}

</style>

</head>

<body>

<div class="container">

<h1>標簽</h1>

<p>

詳細內容 (不想被復制的)

</p>

</div>

<script src="http://libs.baidu.com/jquery/2.1.1/jquery.min.js"></script>

<script>

$(document).keydown(function(e) {

if(e.ctrlKey && (e.keyCode == 86 || e.keyCode == 67)) {

alert(‘不能Ctrl+C和Ctrl+V復制、粘貼‘);

return false;

}

});

</script>

</body>

</html>

網站內容禁止復制解決辦法