【问题标题】:Lock text highlighting in a website?锁定网站中的文本突出显示?
【发布时间】:2013-10-06 14:30:20
【问题描述】:

我想锁定复制按钮,但不想锁定完全右键单击的另存为按钮,所以我网站的用户可以将网站保存为 html 文件但不能复制文本,我该怎么做用 Javascript 的家伙?

【问题讨论】:

  • 嗯..我不明白你为什么想要这样的功能?这不是让您的网站变得不那么受欢迎吗?

标签: javascript html css locking sites


【解决方案1】:

你可以使用这个 CSS:

user-select: none;

这使得网站上的文本无法选择,因此用户将无法突出显示和复制其中的任何内容。

还可以在此网站上找到其他信息:

How to disable text selection highlighting using CSS?

【讨论】:

  • 但是用户可以调用上下文菜单然后复制文本。
  • @ArunAravind 这是不正确的。如果无法突出显示文本,则无法右键单击并复制它。您必须能够先突出显示文本。
  • 很抱歉投了反对票。那是个错误。他说他想要另存为菜单。旧版浏览器不支持用户选择。
  • 无论如何,他们总是可以选择“查看源代码”并以这种方式复制它。不确定我是否看到此要求中的任何一点。
【解决方案2】:

使用

document.body.oncontextmenu = function(evt) { 
       // do custom menu stuff;
       evt.preventDefault();
}

这将禁用上下文菜单。

几乎所有浏览器都支持此功能。 然后您可以使用“另存为”选项创建自定义菜单。你可以用纯 CSS 来做到这一点。

【讨论】:

  • 您可以使用 user-select: none; 禁用选择;
【解决方案3】:

如果您不希望用户在不禁用右键单击的情况下选择您的文本,这是完美的代码

body
{
    -webkit-user-select: none;
        -moz-user-select:none;
        -o-user-select:none;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-19
    • 1970-01-01
    • 1970-01-01
    • 2015-11-10
    • 1970-01-01
    相关资源
    最近更新 更多