如何在html中禁止文字的復制


如何在html中禁止文字的復制

在寫頁面時,會遇到需要禁止用戶復制網頁里的某些內容的情況,例如:小說網站等,這時我們就需要通過一些方法來控制,才能達到禁止復制這個目的。

1.禁止選中和禁止右鍵

在<body>標簽中添加以下代碼:

οncοntextmenu='return false'    禁止右鍵
οndragstart='return false'    禁止拖動
onselectstart ='return false'    禁止選中
οnselect='document.selection.empty()'    禁止選中
οncοpy='document.selection.empty()'    禁止復制
onbeforecopy='return false'    禁止復制
οnmοuseup='document.selection.empty()'
 

示例代碼如下:

<body leftmargin=0 topmargin=0 oncontextmenu='return false' ondragstart='return false' onselectstart ='return false' onselect='document.selection.empty()' oncopy='document.selection.empty()' onbeforecopy='return false' onmouseup='document.selection.empty()'></body>

2.禁止網頁另存為:

在<body>后面加入以下代碼: 

<body></body>
<noscript>
    <iframe src=”*.htm”></iframe>
</noscript>

此時你會發現在電腦端已經無法選擇復制,但是在移動端卻還能選中復制,那么就需要再添加如下css代碼來實現移動端也禁止選中文字。

3.css代碼來實現禁止選中文字

*{
     moz-user-select: -moz-none;
     -moz-user-select: none;
     -o-user-select:none;
     -khtml-user-select:none;
     -webkit-user-select:none;
     -ms-user-select:none;
     user-select:none;
}

此時,到這一步,正常的選擇和復制都已經被禁用了,但是懂行的人還可用瀏覽器的查看源碼和調試工具來直接從代碼中復制內容。

4.禁用F12按鍵

//禁用F12
window.onkeydown = window.onkeyup = window.onkeypress = function (event) {
     // 判斷是否按下F12,F12鍵碼為123
     if (event.keyCode == 123) {
     event.preventDefault(); // 阻止默認事件行為
     window.event.returnValue = false;
     }
}

5.禁用調試工具

var threshold = 160; // 打開控制台的寬或高閾值
// 每秒檢查一次
var check = setInterval(function() {
     if (window.outerWidth - window.innerWidth > threshold ||
         window.outerHeight - window.innerHeight > threshold) {
         // 如果打開控制台,則刷新頁面
         window.location.reload();
     }
}, 1000);


到這一步,已經基本限制了大部分的復制功能,但是對於懂行的來說還是不能完全限制,需要完全禁止還需要探討更多方法來實現!!!!



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM