我有一个名单列表,它可以点击显示每个的详细信息。但我不希望该列表的名称被选择和复制。它只是一个保护。怎么办?
可以在其上放置透明图层,或使用onselectstart事件,但不是很好
答案 0 :(得分:1)
使用此CSS
.unselectable {
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
}
这个HTML
<body>
<p class="unselectable">The user is not able to select this text in Firefox, Chrome, Safari and IE.</p>
</body>
无法选择该段落。
对于按钮和文本对复制和粘贴无用的东西很好。
这不能被视为安全性,因为用户显然可以禁用CSS或仅查看源。 (或使用wget / curl / raw套接字获取内容)。
浏览器支持非常好:http://caniuse.com/user-select-none
IE10及以上(当然IE10现在是IE最受欢迎的版本),+所有其他浏览器。
如果出于某种原因,您支持具有如此简单功能的旧版IE,则可以在元素上添加unselectable="on"
。
答案 1 :(得分:1)
如果它仅仅是为了美学,因为你需要在Javascript中进行一些操作,这使得选择变得奇怪,你可以通过这个CSS属性禁用用户选择:
.block {
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
}
但是,用户始终可以通过其他方式选择内容:源代码,通过停用CSS,将页面保存在他的磁盘上等。您无法保护您的数据不被复制到Internet上。如果您只想保留它,请不要在网上分享:) See also this post,这解释了另一个问题的主题。
答案 2 :(得分:0)
如果您想保护信息,请不要将其放在互联网上 - 这很简单。
话虽如此,使文本更少机器可读的一种方法是将其变成图像。但仍然可以使用光学字符识别来提取文本。像验证码一样模糊文本可能会使这更难,但1.仍然不是不可能的(打破验证码是一个研究得很好的领域)和2.使用户体验更糟糕,特别是对视力受损的人。
答案 3 :(得分:0)
您可以使用JavaScript禁用网页右键,但不会阻止用户复制您网站上的内容。
还有其他复制内容的选项:
如果您在互联网上放置某些内容,则有可能将其复制。您可以阻止普通用户使用JavaScript和其他测量进行复制,但高级用户将以任何方式复制它。
答案 4 :(得分:0)
您可以尝试将所有文本渲染为图像,没有人可以使用打印屏幕阻止它们,但至少不会复制。 见imagettftext(http://php.net/manual/en/function.imagettftext.php) 要么 http://sgss.co/previous/experiments/phpfontimagegenerator2/
或者只是谷歌一些将文字渲染为图像的方法。
答案 5 :(得分:-1)
你做不到。别试试。
如果用户可以看到它,他们可以复制它(不知何故)。