📅  最后修改于: 2023-12-03 14:52:19.322000             🧑  作者: Mango
在某些情况下,您可能希望禁用网站上的文本复制。这可以通过添加一些简单的代码来实现。以下是一些方法。
CSS 有一个属性 user-select
,可以用于指定文本是否可被选择。将其设置为 none
可以禁止文本被选中,从而达到禁止复制的效果。
/* 禁止整个页面上的文本复制 */
body {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
/* 禁止特定元素上的文本复制 */
.no-select {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
在上述代码中,-webkit-user-select
、-moz-user-select
和 -ms-user-select
是供不同浏览器使用的前缀,user-select
是其标准形式,用于保证浏览器兼容性。
另一种方法是使用 JavaScript 来防止文本被选择。以下是一个简单的示例:
<script type="text/javascript">
function disableSelection() {
// 禁止选择整个页面上的文本
document.body.onselectstart = function() { return false; };
// 禁止选择指定元素上的文本
var elements = document.getElementsByClassName("no-select");
for (var i = 0; i < elements.length; i++) {
elements[i].onselectstart = function() { return false; };
}
}
</script>
以上代码中,disableSelection
函数定义了两个事件处理程序,分别用于禁止整个页面(document.body
)和指定元素(使用类名 no-select
)上的文本选择。
HTML5 提供了一个非常简单的方法来防止文本选择。只需将 onselectstart
事件处理程序设置为返回 false
即可:
<body onselectstart="return false;">
<!-- 网页内容 -->
</body>
以上代码会禁止选择整个页面上的文本。同样地,您可以使用类似的方法禁止一个特定元素上的文本选择。
以上是三种禁止 HTML 文本复制的方法。CSS 是最简单的方法,JavaScript 和 HTML API 提供了更灵活的方式。如果您需要更严格的控制和更高的兼容性,推荐使用 JavaScript 或 HTML API 的方法。