user-select : 保护版权内容的简单方案

有的适合我们需要保护我们页面的内容,为了版权或者安全等原因,这个适合我们可以使用 user-select 这个CSS属性,简单易用。

嗯,这个属性不麻烦,而且也不是 CSS 3 / CSS 4 的新属性,这里简单归纳一下:

 .control-select {
    user-select: none; /* 禁止选择 */
    user-select: auto; /* 浏览器来决定是否允许选择 */
    user-select: all; /* 可以选择任何内容 */
    user-select: text; /* 只能选择文本 */
    user-select: contain; /* 选择绑定的元素以内的内容 */
  }

不过,这个属性还并没有被各浏览器以标准的行为来实现,所以使用的适合还是要加上各种前缀:

.no-select {
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
}

注意: IE 9 才开始支持,IE 8 及更早期的版本不支持

Javascript方案

当然也可以用 javascript 来实现类似的行为:

//禁用选择
function disableSelection() {
   document.onselectstart = function() {return false;} // IE 浏览器
   document.onmousedown = function() {return false;} // 其它浏览器
}
//启用选择
function enableSelection() {
   document.onselectstart = null; // IE 浏览器
   document.onmousedown = null; // 其它浏览器
}

当然,js方案可以兼容到低版本 IE 浏览器。

时间: 2024-08-25 04:28:33

user-select : 保护版权内容的简单方案的相关文章

实现node端渲染图表的简单方案

实现node端渲染图表的简单方案 这个题目有点小,本篇博客真正谈论的应该是服务端生成图表的简单方案,这里面有两个关键字:服务端 & 简单,我们知道基于js有很多的图表库,知名的如D3.echarts .highcharts等等,对于做数据可视化方向的同学可能自己都做过此类chart的研发,无论从零构建还是使用已有的轮子,基本上都是基于js在做,因为大部分数据可视化产品都是to B的产品. 但是有些场景下,我们还是会需要服务端的渲染结果的,比如,需要给用户发送订阅邮件,邮件中包含了图表类展示,我们

js实现动态给一个div添加文本内容与简单的日历

js实现动态给一个div添加文本内容(即在文本框中输入一段文字,点击设置文字按钮实现将文本框中的文字添加到div中) <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> </head> <style

I/O复用的 select poll和epoll的简单实现

一个tcp的客户端服务器程序 服务器端不变,客户端通过I/O复用轮询键盘输入与socket输入(接收客户端的信息) 服务器端: 1 /*selcet服务器客户端模型: 2 1.客户端关闭后,服务器再向客户端发送信息,第一次会收到一个RST复位报文,第二次会收到SIGPIPE信号,导致服务器关闭,必须对这个信号进行处理: 3 1.在服务器对read返回值为0的情况进行处理,不向客户端发送信息 4 2.signal函数: signal(SIGPIPE, handle) 或者直接忽略signal(SI

图片服务器和WEB应用服务器相分离的简单方案

只是简单说明一下原理,其它的自己探索吧:) 一.两个域名:www.domain.com和img.domain.com 二.在www域名的服务器中上传文件: up.html <form name="myform" action="save.php?action=ok" method="POST" enctype="multipart/form-data" > <input type="file&quo

如何在ECSHOP前台后台中讲版权内容清除

如何在ECSHOP前台后台中讲版权内容清除 作者:河南电脑学校网 点击次数:1065 发布时间:2012-02-02 20:13:58 一.ECSHOP前台显示的页面的版权在下面几个地方修改:(本人不支持你去掉别人的版权,只做研究之用) 1.meta标签中的Generator: includes目录内cls_template.php,里面有一段 /* 在头部加入版本信息 */              $source = preg_replace(’/<head>/i’, “<head&

13 SELECT 以外的内容

Insert 直接路径法 这种方法不去查找已有块中的空间, 它直接从高水位之上开始插入数据. 直接使用的是 nologging模式, 记住默认情况下通过直接路径插入进行加载的表上的索引仍然是会产生undo 和 redo. 而表的数据因为 nologging 不会产生redo 和 undo , 仅仅是对数据字典来进行修改. insert /*+ append */ into table select * from hr.employees nologging; insert /*+ append_

关于linux服务器进程监控及自动重启的简单方案

转载请注明出处:帘卷西风的专栏(http://blog.csdn.net/ljxfblog) 本周开始,新手游进行删档封测阶段,前两天表现还好,今天更新后出现几次宕机行为,比较影响玩家的测试和体验,我们的服务器管理系统尚未完善,为了晚上能够预防宕机造成损失,先用一种简单的方案临时顶替一下. 实现原理主要是使用linux提供的crontab机制,定时查询服务器进程是否存在,如果宕机则处理我们预设的脚本. 首先我们要向crontab加入一个新任务. # crontab -e:进入编辑状态,其实就是使

kafka告警简单方案

一.前言 为什么要设计kafka告警方案?现成的监控项目百度一下一大堆,KafkaOffsetMonitor.KafkaManager. Burrow等,具体参考:kafka的消息挤压监控.由于本小组的项目使用的kafka集群并没有被公司的kafka-manager管理,所以只能自己简单做一个告警. 二.告警方案 首先需要两个定时任务,之间的通信依靠延迟队列. 左边的定时任务按周期扫面配置Topic-Consumer列表,通过kafka api获取消费详情并判断消息积压量是否已经大于阈值,如果阈

UI进阶 即时通讯之XMPP好友列表、添加好友、获取会话内容、简单聊天

这篇博客的代码是直接在上篇博客的基础上增加的,先给出部分代码,最后会给出能实现简单功能的完整代码. UI进阶 即时通讯之XMPP登录.注册 1.好友列表 初始化好友花名册 1 #pragma mark - 管理好友 2 // 获取管理好友的单例对象 3 XMPPRosterCoreDataStorage *rosterStorage = [XMPPRosterCoreDataStorage sharedInstance]; 4 // 用管理好友的单例对象初始化Roster花名册 5 // 好友操