為了保護(hù)頁面內(nèi)容,很多頁面都需要實現(xiàn)禁止用戶復(fù)制剪切頁面內(nèi)容的操作,或者是為了強(qiáng)迫用戶注冊,登錄之后才允許對頁面內(nèi)容進(jìn)行復(fù)制剪切操作。
本篇文章武榮網(wǎng)絡(luò)(0595wr.cn)就教大家如何實現(xiàn)禁止用戶在頁面進(jìn)行復(fù)制剪切操作的限制,以及如何去除該限制。
通過 JavaScript 實現(xiàn)
第一種方式,我們通過 JS 代碼來禁用網(wǎng)頁的復(fù)制事件、剪切事件、選擇內(nèi)容事件或者是右鍵菜單事件,來達(dá)到禁止用戶復(fù)制頁面內(nèi)容的目的,代碼如下:
// 禁止右鍵菜單 document.oncontextmenu = function(){ return false; }; // 禁止文字選擇 document.onselectstart = function(){ return false; }; // 禁止復(fù)制 document.oncopy = function(){ return false; }; // 禁止剪切 document.oncut = function(){ return false; };
通過 HTML 實現(xiàn)
除了 JS 代碼實現(xiàn),也可以通過 HTML 標(biāo)簽屬性實現(xiàn),代碼如下:
<body oncopy="return false" oncut="return false;" onselectstart="return false" oncontextmenu="return false"> <!--……--> </body>
該方法本質(zhì)上與 JS 實現(xiàn)方式相同,都是通過設(shè)置事件來實現(xiàn)。
如果需要在用戶進(jìn)行某項操作之后將相應(yīng)的限制進(jìn)行去除,可以通過以下 JS 代碼實現(xiàn):
document.body.oncopy = null; document.body.oncut = null; document.body.onselectstart = null; document.body.oncontextmenu = null;
通過 CSS 實現(xiàn)
除了 JS 和 HTML 標(biāo)簽屬性,我們也可以通過 CSS 樣式來實現(xiàn)頁面內(nèi)容不可被選中的限制,從而間接達(dá)到不允許用戶進(jìn)行內(nèi)容復(fù)制操作的目的,具體代碼如下:
body { -moz-user-select:none; /* Firefox私有屬性 */ -webkit-user-select:none; /* WebKit內(nèi)核私有屬性 */ -ms-user-select:none; /* IE私有屬性(IE10及以后) */ -khtml-user-select:none; /* KHTML內(nèi)核私有屬性 */ -o-user-select:none; /* Opera私有屬性 */ user-select:none; /* CSS3屬性 */ }
總結(jié)
限制用戶對頁面內(nèi)容進(jìn)行復(fù)制,實現(xiàn)思路就是通過事件或樣式控制,來禁止右鍵菜單、內(nèi)容選擇以及復(fù)制剪切操作。
上一篇:百度競價推廣怎么樣才有效果?