JS应用之禁止抓屏、复制、打印

JS如何实现禁止截屏、打印、另存为操作? setInterval("window.clipboardData.setData('Text','请关闭分行网站')",100)给一般会在浏览器找到开发者选项的用户制造个js文件bug(专业人士基本都可以跳过,对不懂和半懂的人有效)定时清理粘贴板,可用于防止复制(这种太恶心,打开这个网页时什么都别想复制粘贴)console.log("禁用:ctrl+s");console.log("禁用:开发工具");屏蔽选中、粘贴、复制、剪切、右键菜单、禁止新窗口打开。禁止打印保存,禁止打印(打印出来是空白) 阅读详情

项目需要禁止抓屏、复制、打印的要求,复制、打印做起来可能顺手一点网上各种各样的脚本俯首皆是。但抓屏怎么禁止?PrintScreen是一个特殊的键,它是没有keyCode的键,所以onkeydown变得毫无用处。不过换一种思路的话可会更好,我们从粘贴板着手采取曲线救国策略。代码如下:
<script language="javascript">
window.setInterval("clipboardData.setData('text','')",100);
</script>
以上代码是每100毫秒清空一次粘贴板操作。当页面加载时脚本程序就开始自动执行。但这样有个弊端,不管网页被最小化还是怎么的只要这个窗口开着我们电脑所有的复制操作都无法进行(脚本一直在清空粘贴板),从某种意义上讲是达到预期效果了,但有些欠佳:(。
我们知道所有的控件都有onfocus和onblur事件,window窗口也不例外。我们通过利用这两个事件,只有在当前窗口处于活动状态时才执行清空操作,否则停止执行。代码如下:
<script language="javascript">
var interval
window.onfocus=function(){interval=window.setInterval("clipboardData.setData('text','')",100);}
window.onblur=function(){window.clearInterval(interval);}
</script>
这样就可以完美的解决这个问题。但对于不将截屏内容放入粘贴板的截屏程序来说此方法还是心有余而力不足的。
最新测试实践发现使用onfocus和onblur事件的方法也不尽如人意,当焦点指向程序页面内其他控件(即使Table)时,window将失去焦点从而触发onblur事件停止执行清空粘贴板命令,难道需要遍历所有控件为其onfocus和onblur绑定事件?有些迷茫与失望。
另window.onfocus只是document的onfocus,如果焦点在地址栏或菜单之类的地方onfocus也将失效。
仅以此文字记录自己半天时间研究JS的心得。
禁止打印只需将如果下样式代码放入程序即可(打印出的页面内容将为空白):
<style>@media print{body{display:none}}</style>
禁止复制、选择、右键菜单:
<script language=javascript>
function click() {
return false;}
function click1(){if (event.button==2) {return false; }}
function CtrlKeyDown(){
if (event.keyCode==67&&event.ctrlKey)
{
clipboardData.setData('text','');
return false;
}
}
document.onkeydown=CtrlKeyDown;
document.onselectstart=click;
document.onmousedown=click1;
</script>
<noscript><iframe src=*.html></iframe></noscript>
<script language=javascript>
<!--
if (window.Event)
document.captureEvents(Event.MOUSEUP);
function nocontextmenu(){
event.cancelBubble = true
event.returnValue = false;
return false;
}
function norightclick(e){
if (window.Event){
if (e.which == 2 || e.which == 3)
return false;
}
else if (event.button == 2 || event.button == 3)
{
event.cancelBubble = true;
event.returnValue = false;return false;}
}
document.oncontextmenu = nocontextmenu; // for IE5+
document.onmousedown = norightclick; // for all others
//--></script>

以上代码在IE6.0环境运行正常。
本文来自: 脚本之家(www.jb51.net) 详细出处参考:http://www.jb51.net/article/13610.htm

 

 

禁止复制和PrScrn抓屏

<html>
<head>
<script language=javascript>
function nocopy()
{
alert("对不起,为保护作者权益,本站文章不允许复制。/n/n如有特殊需要,请与本站联系。");
event.returnValue=false;
}
</script>
<script>
function stop(){
return false;
}
document.oncontextmenu=stop;
</script>
<script   language="javascript">  
  <!--  
  //   屏蔽PrintScreen  
  function   testclip(){  
  try   {  
  if(clipboardData.getData("Text")||clipboardData.getData("HTML")||clipboardData.getData("URL"))   //检测系统内存;  
  {  
  null;//不为图像则保留内存  
  }  
  }  
  catch(e){  
  clipboardData.setData("Text","")//清空内存  
  }  
  setTimeout("testclip()",500)  
  }  
   
  //页面加载启动区;  
  testclip();//不停清空剪贴板  
  //-->  
  </script>
</HEAD>
<BODY BGCOLOR=#FFFFFF LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0 oncopy="nocopy()">
呵呵
<img src="m.jpg">
</BODY>
</html>

PageGuard.js:禁止复制,打印以及打开开发人员工具 PageGuard.js 警告:此脚本可能无法在Chrome 77中使用。 警告:此脚本可能无法在Chrome 77中使用。 警告:此脚本可能无法在Chrome 77中使用。 禁止复制,打印以及打开开发人员工具。 它可以防止用户: 选择 打印 右键点击 Crtl / Shift / Alt / F12 打开开发人员工具(包括在单独的窗口中打开) 运行一些脚本 将鼠标移出页面 如果您不运行Javascript,则可以使用CSS。 但是为了安全起见,您应该使用此javascript并让您的页面仅在Javscript打开时才显示。 乌斯格 下载并安装pageguard.min.js 防复制 var anticopy_key = PageGuard.antiCopy(); 您可以使用以下代码来允许用户再次复制(无法清除CSS): PageGuard.allowCopy(anticopy_key); 检测开发人员工具 支持的: Chrome(最新版本:66) Opera(最新版本:52) Firefox(最新版本:59)(如果在单独的窗口中打开,则仅在用户打开控制台时才起作用 立即下载

相关推荐

javascript页面代码防止frame禁止右键

页面代码防止frame禁止右键 拿来就可以使用方便快速

视频网页前端禁止截屏代码实现js

商业级DRM能够实现媒体内容加密保护、防抓包和破解工具破解、防浏览器插件破解、防浏览器插件截录屏。类似于M3U8,它也是提供一个索引文件,之后根据索引文件去找每一个小节视频,播放器自动连贯播放每一小节,看起来是完整的一个视频,所以在一定程度上能够防止抓包。数字版权管理(英语:Digital rights management,缩写为DRM)是一系列访问控制技术,通常用于控制数字内容和设备在被销售之后的使用过程。DRM有时也称为拷贝保护、复制控制、技术保护措施等,但这些称呼存在争议。

北鹤M的代码手账 2万+

网工实验笔记:SNMP的配置

简单网络管理协议SNMP(Simple Network Management Protocol)是广泛应用于TCP/IP网络的网络管理标准协议。SNMP提供了一种通过运行网络管理软件的中心计算机(即网络管理工作站)来管理设备的方法。

2301_76170756的博客 2115

NoPrint.js:使用JavaScript在HTML中禁用打印、截屏、复制和粘贴

NoPrint.js是一个小巧整洁的开源JS库,可禁用HTML中的打印、截图、复制和粘贴功能。它还提供启用AutoBlur选项,让鼠标离开网页后内容变得模糊。这个功能可以阻止大多数普通用户截取屏幕截图。 NoPrint.js可以在几乎所有的浏览器上运行例如 Chrome、Edge、FireFox和Opera。 NoPrint.js可以做什么 - 禁用复制和粘贴 - 禁用打印 - 禁用鼠标右键 - 禁用截图 - 禁用“另存为”/ Ctrl + S - 自动模糊 你可以打开此示例页面查看No...

Dickson的专栏 6662

面试复习题--RN面试

考察点:热更新方案的深度理解,选型能力,实战落地经验。答题思路主流热更新方案对比。

hqiangtai的博客 725

【机械视觉】Halcon—【二、Halcon算子全面介绍(超详细版)】

Halcon 的算子(operators)按照功能被系统性地划分为多个类别,官方文档中目前(Halcon 22.11 版本)共有 19 个主分类,每个主分类下还有若干子分类。 本人在此对这19个分类的常用核心算子进行了一系列的总结,且本人在文章最后还总结了一些案例经验。 注意: ​​​​​​​跨分类调用:某些算子可能在多个分类中,但官方文档中会明确其主分类。 例如: read_image(文件操作)常被其他分类(如图像处理)的示例调用,但其核心功能是文件读取。

qq_3517289697的博客 3913

【转】js禁止抓屏, 复制, 打印

项目需要禁止抓屏、复制、打印的要求,复制、打印做起来可能顺手一点网上各种各样的脚本俯首皆是。但抓屏怎么禁止?PrintScreen是一个特殊的 键,它是没有keyCode的键,所以onkeydown变得毫无用处。不过换一种思路的话可会更好,我们从粘贴板着手采取曲线救国策略。代码如下: <script language="javascript"> window.setInterval("...

weixin_30338461的博客 340

HAL库移植实战:解决‘HAL_StatusTypeDef‘未定义报错的3个关键步骤

本文针对STM32开发中从标准库向HAL库移植时常见的'HAL_StatusTypeDef'未定义报错,提供了三个关键解决步骤:首先确保正确包含头文件入口,其次检查并配置模块使能宏,最后注意避免与标准库的同名结构体混用。文章通过实战案例解析了HAL库的模块化设计理念,帮助开发者高效解决混合编程中的编译问题。

book8的博客 207

浏览器打开pdf,禁止下载打印

之前在网站上打开pdf文件,都是用浏览器查看pdf时自带的功能,可以下载打印,最近要求打开pdf后仅供用户预览,禁止下载打印。网上查了一下,发现有很多前辈都遇到过,解决方法是用pdf.js。 1.下载 官网提供了一个demo,稍微改一下就可以用了,真的超棒。pdf.js下载 2.修改 将下载的插件包拷贝到自己的项目中,我是放在了WebRoot下。打开web下的viewer.js将默认的路径置为“”...

Autowired的博客 1万+

从东南大学906被刷到调剂过程(内含个人感想)

介绍了自己在看到初试成绩,到后期复习以及调剂的全过程,当中也包含了自己的复试中的感想,希望大家理性看待。

Philo的博客 2854

CNN卷积神经网络手写数字识别实例及代码详解

本文的代码来自githup的Deep Learning的toolbox,是用Matlab实现的。感谢该toolbox的作者付出和分享。 我在应该该代码进行训练时,出现一些报错,如expand函数应用不对,flipall函数未定义等问题,对这些问题进行了修正,完成网络训练和验证。 本文mnist_uint8.mat的获取可以参照我的另一篇博客:MNIST数据库处理--matlab生成mnist_

VivienFu的专栏 6万+

利用js和css,页面如何实现禁止复制与禁止调试等限制操作

在我们开发系统的时候,可能会接到这样的需求:不要让用户复制页面上的文字或者图片,不要让用户调试我们的页面,更甚至也不要让用户进行打印操作等等。我们可以通过css来控制,也能够监听用户打开控制台的操作,从而达到我们想要的目的

zhang_hai_cheng的博客 4723

btstack ble ota开发笔记(2)-mcuboot移植

紧接上一篇文章,要实现一个完整的ota demo,除了实现ota image的传输通道外,还需要“bootloader”这个角色来帮我们实现ota image的校验、安全、引导以及启动,这里我选择开源的组件mcuboot,下面开始介绍mcuboot在stm32f4-discovery上的移植。首先估算下bootloader & application image的大小,确定好flash的分布情况,因为后续会涉及到flash的操作(读、写、擦除),为了方便程序的编写,各个image area在flash中的起

weixin_38177846的博客 2350

Java在线安全浏览文档(只读打开文件/禁止编辑/禁止复制拷贝/禁止另存/禁止打印)

前言: 在我们的web系统中,有时会有合同公文等 一些需要在网页上打开的word文件。并且也会伴随着安全浏览的需求:比如,担心用户将文件私自修改,有禁止编辑的需求;担心用户将文档的内容直接复制拷贝出去以做他用,便有禁止复制拷贝的需求;担心用户直接将文件另存为到本地对文档进行非法传播,便有禁止另存的需求;担心用户将文件打印出来,便有禁止打印的需求。 要完成这种需求,如果从头到尾由我们自己来实现的...

一只蜗牛的博客 3590

Python 爬虫实战:爬虫与 ECharts 结合 —— 前端可视化展示

本文介绍了爬虫技术与ECharts可视化结合的完整实现流程。首先使用Python爬取京东商品数据(价格、评价数等),通过BeautifulSoup解析和pandas处理转换为JSON格式。然后构建前端页面,利用ECharts实现价格分布柱状图、价格-评价数散点图和店铺占比饼图三种可视化效果。文章详细解析了爬虫数据提取、格式转换和前端图表配置等关键技术点,并提供了完整的代码示例。最后提出了基于API接口、数据库存储等扩展方向,为数据采集到可视化展示提供了完整的解决方案。

2503_91057718的博客 631

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

iframe中的右键 禁止_网页中最常用的JS代码(js禁止右键、禁止复制)

function stop(){return false;}document.oncontextmenu=stop;oncopy=”return false;” oncut=”return false;” 防止复制四:禁止查看源文件function clear(){Source=document.body.firstChild.data;document.open();document.close...

weixin_39984982的博客 1292

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

解决网页pdf禁止打印的方案

网页禁止打印pdf解决办法

qq_43606857的博客 2万+

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

vue-cli使用pdf.js插件浏览pdf文件,禁止下载打印复制粘贴。

很多项目中都会有预览pdf文件,普通的可以直接使用a标签来实现该功能,但是此预览是浏览器自带的,有时候项目需求中会有禁止用户禁止下载和打印功能,浏览器自带的是无法满足的。 小编在网上找到pdf.js插件,pdf.js插件是可以满足此功能的。 pdf.js插件下载地址 此文件没有太多的专业术语,简单的话让大家快速了解 首先肯定是导入插件,我是从官网直接下载,小编是放在放在public文件目录下 导入插件后就是使用插件了,在自己需要使用的页面用a标签使用 到这里基本上就大功告成了(小编这里有遇见一个问题,小

ITCwg的博客 3894
上一篇: JavaScript中document的用法
下一篇: js跳转页面方法大全
MR丶CHAN
博客等级 码龄20年 31粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值