我們應該都遇到過這種情況,有時候想在網絡上覆制一些需要用的的東西,會提示:禁止轉載、禁止複製等。
有時候的需求是網站中有些內容不希望別人複製,那麼就需要用代碼控制:可以屏蔽鼠標右鍵菜單、複製粘貼、選中等。
下面分享幾種避免複製的方法
第一種:
//屏蔽右鍵菜單
document.oncontextmenu = function(event) {
if (window.event) {
event = window.event;
}
try {
var the = event.srcElement;
if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")) {
return false;
}
return true;
} catch (e) {
return false;
}
}
//屏蔽粘貼
document.onpaste = function(event) {
if (window.event) {
event = window.event;
}
try {
var the = event.srcElement;
if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")) {
return false;
}
return true;
} catch (e) {
return false;
}
}
//屏蔽複製
document.oncopy = function(event) {
if (window.event) {
event = window.event;
}
try {
var the = event.srcElement;
if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")) {
return false;
}
return true;
} catch (e) {
return false;
}
}
//屏蔽剪切
document.oncut = function(event) {
if (window.event) {
event = window.event;
}
try {
var the = event.srcElement;
if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")) {
return false;
}
return true;
} catch (e) {
return false;
}
}
//屏蔽選中
document.onselectstart = function(event) {
if (window.event) {
event = window.event;
}
try {
var the = event.srcElement;
if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")) {
return false;
}
return true;
} catch (e) {
return false;
}
}
第二種方法:加入js代碼
<script type="text/javascript">
// oncontextmenu 事件在元素中用戶右擊鼠標時觸發並打開上下文菜單
document.oncontextmenu=newFunction("event.returnValue=false");
// onselectstart幾乎可以用於所有對象,其觸發時間爲目標對象被開始選中時(即選中動作剛開始,尚未實質性被選中)document.onselectstart=newFunction("event.returnValue=false");
</script>
<!DOCTYPE html>
<html>
<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>
<h1>文化的含義</h1>
<p>
從知乎上看到一個關於文化的解讀,在這裏分享給大家。
“文化”可以用四句話表達:
植根於內心的修養;
無需提醒的自覺;
以約束爲前提的自由;
爲別人着想的善良。
根植於內心的修養,是指由來已久,深入骨髓的一個人的高尚品行。
無需提醒的自覺,是在根植於內心的修養基礎上,才能做到的自覺,自覺包括我們的一切行爲規範。
以約束爲前提的自由,是以上兩句話的延伸,有修養,會自覺,才能達到自律,自由。這種自由是有所爲,有所不爲的,是真正的自由。
爲別人着想的善良,能做到以上三句話所表述的,那這個人一定是善良的,也一定會爲別人着想的。這樣的人,真的很偉大!是一個覺悟了的人!我心嚮往之。
</p>
</div>
<!-- 第二種方法:通過js代碼實現 -->
<script type="text/javascript">
// oncontextmenu 事件在元素中用戶右擊鼠標時觸發並打開上下文菜單
document.oncontextmenu=newFunction("event.returnValue=false");
// onselectstart幾乎可以用於所有對象,其觸發時間爲目標對象被開始選中時(即選中動作剛開始,尚未實質性被選中)
document.onselectstart=newFunction("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>
<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>
<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>
<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>
<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>