我发现了一个有趣的网站,它使用神秘的技术禁止复制网页内容。
首先,它禁用鼠标右键单击。这可以通过禁用浏览器的 javascript 来克服。
但是,即使禁用了javascript,网页内容仍然无法选择。我查看了网页的 CSS,但找不到任何线索。
它是如何实现禁止内容复制的功能的?
最佳答案
CSS 中有一个属性叫做user-select可以用来防止用户突出显示文本。
通常这用于您想要与之交互的按钮或对象(如点击和拖动)。
还有一个jQuery UI方法disableSelection它会做类似的事情,你可以看到它在整个 UI API 中被使用
注意:disableSelection
现已弃用,因为 user-select
可用
你可以看到你链接的网站在 html
标签上有 CSS 属性,阻止了它在整个网站范围内
更新
我查看了他们的代码,发现他们还有多个层来防止用户选择,主要是在 Javascript 中。有关它们如何阻止选择的几个示例,请参见下面的 fiddle 。可能使用的方法更多,但要全部破译需要一段时间;绕过它们的最简单方法是在您的浏览器中安装一个插件,该插件将禁止任何脚本运行,然后只需禁用阻止您的 CSS 即可。或者只是采取简单的方法,直接从检查元素窗口复制 HTML。正如其他人在评论中所说,有多种方法可以阻止您打开开发者工具,例如 Ctrl + Shift + I
或使用浏览器的菜单。
关于javascript - 该网站如何禁用内容选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57975702/