网页防复制措施及应对方法

Introduction

许多网站都有防复制的措施,这通常出于保护知识产权的考量。

How to Do It?

以下方法按推荐 -> 不推荐排序。

Method 1

document.body.oncontextmenu=()=>false;
ondragstart
onselectstart
onbeforecopy
oncopy
oncut
onbeforecut


document.body.onselect=()=>false;???
document.body.onmouseup=document.selection.empty()

How to Break It?

了解各种防复制措施后,通常能够对症下药,例如在开发者工具中移除事件监听器,注释掉user-select等。但我们通常没有那么多精力去处理他们(就是懒),因此,如果不是频繁地使用某个网站,我们可以用一些通用(至少能大规模适用)的方法来应对防复制措施。

以下方法同样按推荐 -> 不推荐排序。

Method-1

documentdesignMode属性用来指定页面的可编辑模式是否开启。值为String类型,有效值有onoff

相同的,html元素的contenteditable也能控制可编辑模式的开启与关闭。有效值有turefalse

// !!! CSS user-select // !!! CSS user-select // !!! CSS user-select

综上,可以写个UserJS,在需要时开启,代码如下:

document.designMode = 'on';
// Or
document.body.contentEditable = true;

Method-2

通常各类防复制措施都需要用到JS,因此,在浏览器中临时禁用JS也能起到很好的效果。

Method-3

Method-4

未完待续

无限期鸽置