1. 用 CSS 关闭选择
一条样式规则 user-select: none 就能告诉浏览器不允许你选择某个元素中的文字。拖动鼠标时什么都不会高亮。但文字仍然在网页上:阅读模式、打印为 PDF 或移除该规则的扩展程序都能恢复选择功能。
2. 取消复制、剪切和粘贴事件
脚本监听复制、剪切或粘贴事件并取消它。你能选中文字,但 Ctrl+C 什么也复制不了,或者网站会把你的剪贴板内容替换成一行“阅读全文请访问……”。为该网站屏蔽 JavaScript 或使用解除复制限制的扩展程序都能解决。同样的手法还会在某些表单中禁止粘贴,例如“再次输入电子邮箱”栏。
3. 取消右键
脚本取消 contextmenu 事件,让 Chrome 的菜单无法打开,通常还会弹出“右键已禁用”之类的提示。请参阅如何启用右键。
4. 透明覆盖层
一个看不见的元素盖在文字上方,所以你的点击落在覆盖层上,而不是文字上。阅读模式和网页源代码会忽略覆盖层。
5. 不是文字的文字
有些网页把文字显示成图片、放在 canvas 中或视频里。任何解除复制限制的方法在这里都帮不上忙,因为根本没有可复制的文字。请使用文字识别工具,例如 Image Text to Text。
实用的答案
如果你经常遇到禁止复制的网页,Highlight and Copy Protected Text 用一个开关就能关闭第 1–3 种技术。对于其他情况,请参阅如何从受保护的网站复制文字。