在做移动端开发的时候,用户禁止会误触页面上的文字,然后会提示复制等操作,体验非常不好,所以我们需要将它禁用掉
禁止复制
js部分:控制键盘、选中、右键,可在html head区域或js中
1 | <script> |
css部分:可以放入 header,但是我建议 header 放一份,并将里面的内容往 CSS 文件里再放置一份,这样一来当 F12 去除了其中一个,另外一个再寻找起来会麻烦且花时间(位于 CSS 文件中的代码 对方需要在开发模式中清理 CSS 内容,而且这样可以导致整个无法直视):1
2
3
4
5
6
7<style type="text/css">
html {
-ms-user-select: none;
-moz-user-select: none;
-webkit-user-select: none;
}
</style>
ps:Ctrl + P能调起浏览器的打印机制,在里面可以进行拷贝,如需要禁止,可以增加以下css进行保险1
2
3@media print{
html {display:none; }
}
部分开启复制
全页禁止复制后在部分区域开启复制功能,如博客中的代码等1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22// code edit
function clrs_code() {
var controls = document.getElementsByTagName('pre');
for(var i=0; i<controls.length; i++){
controls[i].spellcheck = false;
controls[i].setAttribute("contenteditable","true")
};
var controls = document.getElementsByTagName('code');
for(var i=0; i<controls.length; i++){
controls[i].spellcheck = false;
controls[i].setAttribute("contenteditable","true");
};
var controls = document.getElementsByClassName('crayon-pre');
for(var i=0; i<controls.length; i++){
controls[i].spellcheck = false;
controls[i].setAttribute("contenteditable","true");
};
};
window.onload = clrs_code;