+
80
-

js如何实现阻止网页内容被人复制?

js如何实现阻止网页内容被人复制?


网友回复

+
0
-

阻止网页内容被复制,可以采取以下几种措施:

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(); } }

以上是几种常用的阻止网页内容被复制的方法。但是,技术手段并不严密,仍然可以被较为熟练的用户绕过。如果内容极其敏感,最好的方式还是不放到客户端展示。

总之,网页内容的复制难以彻底禁止,技术手段主要是提高复制难度,防止偶尔或非技术用户的非法复制行为
我知道答案,我要回答