阻止网页内容被复制,可以采取以下几种措施:
1. 在HTML中给需要阻止复制的元素添加属性unselectable="on",例如:<div unselectable="on">文本内容</div>
2. 在JavaScript中给需要阻止复制的元素添加样式:
element.style.userSelect = 'none';
3. 在JavaScript中监听页面的copy事件,阻止默认行为:document.addEventListener('copy', function(e) {
e.preventDefault();
});
4. 在JavaScript中监听选区的变化,阻止选区的产生:document.addEventListener('selectstart', function(e) {
e.preventDefault();
});
5. 利用权限策略阻止复制,在HTML中添加:
<meta http-equiv="Content-Security-Policy" content="default-src *; img-src *; media-src *; style-src *; script-src 'self' 'unsafe-inline' 'unsafe-eval'; frame-src *;font-src *;">
6. 监听键盘事件,当按下 Ctrl+C 时阻止复制:document.onkeydown = function(e) {
if ((e.ctrlKey || e.metaKey) && e.keyCode === 67) {
e.preventDefault();
}
}
以上是几种常用的阻止网页内容被复制的方法。但是,技术手段并不严密,仍然可以被较为熟练的用户绕过。如果内容极其敏感,最好的方式还是不放到客户端展示。
总之,网页内容的复制难以彻底禁止,技术手段主要是提高复制难度,防止偶尔或非技术用户的非法复制行为网友回复