溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何使用JavaScript禁止復(fù)制網(wǎng)站內(nèi)容

發(fā)布時(shí)間:2021-01-27 10:04:51 來源:億速云 閱讀:167 作者:小新 欄目:web開發(fā)

這篇文章主要介紹如何使用JavaScript禁止復(fù)制網(wǎng)站內(nèi)容,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

若是你不想別人復(fù)制你的網(wǎng)站內(nèi)容,可以把這段js代碼加到你網(wǎng)頁(yè)上,即可屏蔽鼠標(biāo)右鍵菜單、復(fù)制粘貼、選中等。

有時(shí)候的需求是網(wǎng)站中有些內(nèi)容不希望別人復(fù)制,那么就需要用代碼控制。

方法有多種:

第一種:

//屏蔽右鍵菜單 
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; 

    } 

} 



//屏蔽復(fù)制 

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 事件在元素中用戶右擊鼠標(biāo)時(shí)觸發(fā)并打開上下文菜單

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

// onselectstart幾乎可以用于所有對(duì)象,其觸發(fā)時(shí)間為目標(biāo)對(duì)象被開始選中時(shí)(即選中動(dòng)作剛開始,尚未實(shí)質(zhì)性被選中)

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

</script>
例子:

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8" />

<style>

*{margin: 0;padding: 0;}

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

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

</style>

</head>

<body>

<div>

<h2>火影忍者</h2>

<p>

十多年前一只擁有巨大威力的妖獸“九尾妖狐”襲擊了木葉忍者村,當(dāng)時(shí)的第四代火影拼盡全力,
以自己的生命為代價(jià)將“九尾妖狐”封印在了剛出生的鳴人身上。木葉村終于恢復(fù)了平靜,
但村民們卻把鳴人當(dāng)成像“九尾妖狐”那樣的怪物看待,所有人都疏遠(yuǎn)他。 
鳴人自小就孤苦無依,一晃十多年過去了,少年鳴人考入了木葉村的忍者學(xué)校,結(jié)識(shí)了好朋友佐助和小櫻。
佐助是宇智波家族的傳人之一,當(dāng)他還是小孩的時(shí)候他的哥哥——一個(gè)已經(jīng)擁有高超忍術(shù)的忍者將他們家族的人都?xì)⑺懒耍?
然后投靠了一直想將木葉村毀滅的大蛇丸,佐助自小就發(fā)誓要超越哥哥,為家族報(bào)仇。
鳴人他們?cè)谌陶邔W(xué)校得到了教官卡卡西的精心指點(diǎn),在他的幫助下去迎接成長(zhǎng)中的一次又一次挑戰(zhàn)! 

</p>

</div>

<!-- 第二種方法:通過js代碼實(shí)現(xiàn) -->

<script type="text/javascript">

// oncontextmenu 事件在元素中用戶右擊鼠標(biāo)時(shí)觸發(fā)并打開上下文菜單

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

// onselectstart幾乎可以用于所有對(duì)象,其觸發(fā)時(shí)間為目標(biāo)對(duì)象被開始選中時(shí)(即選中動(dòng)作剛開始,尚未實(shí)質(zhì)性被選中)

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中加入代碼的這種方法有個(gè)缺陷就是取決于body的內(nèi)容,如果body內(nèi)容較少,從body下方往上選中內(nèi)容,
仍然是可以復(fù)制網(wǎng)站的內(nèi)容的。

第四種方法:

如果只限制復(fù)制,可以在<body>加入以下代碼:

<body oncopy="alert('對(duì)不起,禁止復(fù)制!');return false;"> 
例子:

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8" />

<style>

*{margin: 0;padding: 0;}

.container h2 {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('對(duì)不起,禁止復(fù)制!');return false;">

<div>

<h2>火影忍者</h2>

<p>

十多年前一只擁有巨大威力的妖獸“九尾妖狐”襲擊了木葉忍者村,當(dāng)時(shí)的第四代火影拼盡全力,
以自己的生命為代價(jià)將“九尾妖狐”封印在了剛出生的鳴人身上。木葉村終于恢復(fù)了平靜,
但村民們卻把鳴人當(dāng)成像“九尾妖狐”那樣的怪物看待,所有人都疏遠(yuǎn)他。 
鳴人自小就孤苦無依,一晃十多年過去了,少年鳴人考入了木葉村的忍者學(xué)校,結(jié)識(shí)了好朋友佐助和小櫻。
佐助是宇智波家族的傳人之一,當(dāng)他還是小孩的時(shí)候他的哥哥——一個(gè)已經(jīng)擁有高超忍術(shù)的忍者將他們家族的人都?xì)⑺懒耍?
然后投靠了一直想將木葉村毀滅的大蛇丸,佐助自小就發(fā)誓要超越哥哥,為家族報(bào)仇。
鳴人他們?cè)谌陶邔W(xué)校得到了教官卡卡西的精心指點(diǎn),在他的幫助下去迎接成長(zhǎng)中的一次又一次挑戰(zhàn)! 

</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 h2 {color: gold;text-align:center;margin-bottom:30px;}

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

</style>

</head>

<body>

<div>

<h2>火影忍者</h2>

<p>

十多年前一只擁有巨大威力的妖獸“九尾妖狐”襲擊了木葉忍者村,當(dāng)時(shí)的第四代火影拼盡全力,
以自己的生命為代價(jià)將“九尾妖狐”封印在了剛出生的鳴人身上。木葉村終于恢復(fù)了平靜,
但村民們卻把鳴人當(dāng)成像“九尾妖狐”那樣的怪物看待,所有人都疏遠(yuǎn)他。 鳴人自小就孤苦無依,
一晃十多年過去了,少年鳴人考入了木葉村的忍者學(xué)校,結(jié)識(shí)了好朋友佐助和小櫻。
佐助是宇智波家族的傳人之一,當(dāng)他還是小孩的時(shí)候他的哥哥——一個(gè)已經(jīng)擁有高超忍術(shù)的忍者將他們家族的人都?xì)⑺懒耍?
然后投靠了一直想將木葉村毀滅的大蛇丸,佐助自小就發(fā)誓要超越哥哥,為家族報(bào)仇。
鳴人他們?cè)谌陶邔W(xué)校得到了教官卡卡西的精心指點(diǎn),在他的幫助下去迎接成長(zhǎng)中的一次又一次挑戰(zhàn)! 

</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復(fù)制、粘貼');

   return false;

 }

});

</script>

</body>

</html>

以上是“如何使用JavaScript禁止復(fù)制網(wǎng)站內(nèi)容”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI