`
coderliang2018
  • 浏览: 27249 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

javascript 屏蔽按键和禁止地址栏复制

 
阅读更多
最近有客户反映系统一个页面可以打开过个,因为页面里面有计时功能,会导致计时不准确,网上收集了一些js屏蔽的代码,在这里记录下。
<script type="text/javascript">           
     function contextMenuCheck() {
    	event.returnValue = false;
     }   

     function helpCheck() {
    	return false;
     }      

	//禁止鼠标左键和Ctrl键打开新窗口
	function leftclick() { 
		if (window.event.button == 1 && window.event.ctrlKey) {//2为右键 
		  	alert("禁止操作!");
		} 
	}

    //屏蔽其他功能键   
    function checkKey() {      
		var k = window.event.keyCode;
		//屏蔽 F5 刷新键
	    if (k  ==  116) {                                             
			window.event.keyCode  =  0;      
	        window.event.returnValue =  false;      
	    }      
	    if (window.event.ctrlKey && k == 82)//Ctrl + R      
			window.event.returnValue=   false;      
	    if (window.event.ctrlKey && k == 78)//屏蔽Ctrl+n      
	        window.event.returnValue =  false;      
	    if (window.event.ctrlKey && k == 87)//屏蔽Ctrl+w      
	        window.event.returnValue =  false;      
	    if (event.shiftKey && k==121)//屏蔽 shift+F10      
	        window.event.returnValue = false;      
	    //屏蔽shift+鼠标左键打开新页面
	    if (window.event.srcElement.tagName == "A" && window.event.shiftKey) {
	        //禁止事件冒泡
  		    window.event.cancelBubble = true;
  			  //设置事件的返回值
            window.event.returnValue = false;
            return false;
        }     	      
    }   

	var mouseCur = 0;

	function mouseMove(ev) { 
		ev= ev || window.event; 
		var mousePos = mouseCoords(ev); 
		document.getElementById("yyy").value = mousePos.y; 
		//鼠标y轴的坐标
	    mouseCur = mousePos.y;
	} 

	function mouseCoords(ev) { 
		if(ev.pageX || ev.pageY){ 
			return {x:ev.pageX, y:ev.pageY}; 
		} 
		return { 
			x:ev.clientX + document.body.scrollLeft - document.body.clientLeft, 
			y:ev.clientY + document.body.scrollTop - document.body.clientTop 
		}; 
	} 

	var winWidth = 0;
	var winHeight = 0;
	//函数:获取尺寸
	function findDimensions() {
		//获取窗口宽度
		if(window.innerWidth)
			winWidth = window.innerWidth;
		else if((document.body) && (document.body.clientWidth))
			winWidth = document.body.clientWidth;
		//获取窗口高度
		if(window.innerHeight)
			winHeight = window.innerHeight;
		else if((document.body) && (document.body.clientHeight))
			winHeight = document.body.clientHeight;
		/*nasty hack to deal with doctype swith in IE*/
		//通过深入Document内部对body进行检测,获取窗口大小
		if(document.documentElement && document.documentElement.clientHeight && document.documentElement.clientWidth) {
			winHeight = document.documentElement.clientHeight;
			winWidth = document.documentElement.clientWidth;
		}
	}

	window.onblur = function (e) {
		e = e || window.event;
	    if (window.ActiveXObject && /MSIE/.test(navigator.userAgent)) {  //IE
	        //如果 blur 事件是窗口内部的点击所产生,返回 false, 也就是说这是一个假的 blur
	        var x = e.clientX;
	        var y = e.clientY;
	        var w = document.body.clientWidth;
	        var h = document.body.clientHeight;
	
	        if (x >= 0 && x <= w && y >= 0 && y <= h) {
	            window.focus();
	            return false;
	        }
	    }
		//获取鼠标位置
    	findDimensions();
		//如果失去焦点, 并且焦点不在document里面, 在工具栏或者其他窗口
        if (!document.hasFocus() && mouseCur < winHeight) {
			window.focus();
        }
	} 	

	//注册键盘按键
	document.onkeydown = checkKey;
	//注册点击事件
  	document.onclick = checkKey;
	//注册鼠标左键和Ctrl键打开新窗口事件
  	document.onmousedown = leftclick;
	//注册鼠标移动事件
	document.onmousemove = mouseMove; 
	//注册屏蔽鼠标右键      
    document.oncontextmenu = contextMenuCheck;
    //注册屏蔽F1帮助      
    window.onhelp = helpCheck;

</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
 <head>
  <title>考试窗口</title>
  <meta name="Generator" content="EditPlus">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
 </head>

<body>
	<h1>
		考试窗口
	</h1>
	<input id="yyy" type="text">
	鼠标y坐标
</body>
</html>

上面的禁止地址栏复制用到了window.foucs 会影响一直强制在当前窗口,当切换别的窗口的时候有时候会切换不过去, 不知道有其他屏蔽地址栏复制的办法没有。
分享到:
评论

相关推荐

    用javascript 禁止右键,禁止复制,禁止粘贴

    使用 JavaScript 禁止右键、禁止复制、禁止粘贴 在网页开发中,保护自己辛苦半天做的网页,尤其是一些 JavaScript 特效,...使用 JavaScript 禁止右键、禁止复制、禁止粘贴可以有效地保护网页内容不被非法复制和查看。

    地址栏收藏夹图标设置页面禁止全选复制粘贴及右键

    1、地址栏前换成自己的图标; 2、收藏夹中显示出你的图标. 3、页面全选被屏蔽; 4、防止复制; 5、鼠标右键被屏蔽; 6、输入法被屏蔽; 7、粘贴被屏蔽; 每个功能 1 分,很合理,O(∩_∩)O谢谢合作 QQ:83433857

    屏蔽右键菜单 禁止复制粘贴 网页屏蔽器

    在网页设计中,有时开发者会使用特定的JavaScript代码来实现对右键菜单的屏蔽,以及禁止用户通过复制粘贴的方式获取页面上的文本信息。这主要是为了防止内容被盗用,尤其是在涉及到版权、敏感信息或者商业秘密的网站...

    JavaScript代码轻松实现网页内容禁止复制(代码简单)

    在互联网上,我们经常会遇到一些网页内容禁止我们进行复制的情况,这背后往往是通过JavaScript代码实现的。当网站不希望其内容被用户复制时,可以通过编写特定的JavaScript脚本来禁止复制。这种技术的使用,有时会...

    用javascript地址栏显示源码

    ### 使用JavaScript在地址栏显示网页源代码 #### 知识点概述 本篇文章将详细介绍如何通过简单的JavaScript脚本实现在浏览器地址栏直接查看当前页面的HTML源代码。此方法不仅适用于开发者快速预览和调试页面结构,...

    js禁止右键 禁止复制

    在网页设计中,有时为了保护内容不被轻易地复制或者防止不必要的用户操作,开发者可能会采用JavaScript来实现一些限制功能,比如“禁止右键”和“禁止复制”。这主要是通过监听和处理浏览器的特定事件来实现的。下面...

    javascript屏蔽返回

    JavaScript屏蔽返回功能通常涉及到网页的导航控制,这是前端开发中的一种常见需求,特别是在单页应用(SPA)中。在浏览器环境中,用户可以通过点击浏览器的“返回”按钮来浏览历史记录,但有时候开发者可能希望阻止...

    html禁止网页文字复制

    标题"html禁止网页文字复制"所涉及的核心技术就是如何通过HTML和JavaScript(特别是jQuery库)来实现这一功能。接下来,我们将深入探讨如何实现这个功能,并提供相关代码示例。 首先,HTML本身并不具备直接禁止文本...

    android WebView加载H5去地址栏的两种方式

    然后,我们可以在H5页面加载完成后,注入一段JavaScript代码,隐藏浏览器的地址栏和工具栏: ```java webView.loadUrl("javascript:(function(){" + "document.getElementById('toolbar').style.display='none';" ...

    网页禁止复制实现

    网页禁止复制实现是一种...总的来说,网页禁止复制的实现主要是通过JavaScript和CSS来改变用户的交互体验,减少内容的直接复制。但在互联网环境中,绝对的禁止往往是困难的,因此合理的版权声明和许可协议同样重要。

    js禁止右键和禁止复制

    在探讨“js禁止右键和禁止复制”的主题时,我们主要关注的是如何通过JavaScript来实现对用户在网页上的右键点击以及文本复制功能的禁用。这种方法常被用于保护网站内容不被轻易复制或下载,尤其是在版权敏感的环境中...

    获取浏览器地址栏URL

    对于Chrome,你可以使用JavaScript和HTML编写,而对于IE,你可以使用ActiveX控件。在插件中,你可以直接访问浏览器的API来获取地址栏URL。 4. **插件实现**:在插件中,你可以监听`document`对象的`...

    使用JavaScript屏蔽右键

    通过javascript来控制页面的右键,让他来屏蔽。

    IE地址栏中的妙用大全

    - 在地址栏输入以下JavaScript代码:`javascript:s=document.documentElement.outerHTML;document.write(&lt;body&gt;&lt;/body&gt;);document.body.innerText=s;`。 ##### 15. 放大页面1.5倍 - 在地址栏输入以下JavaScript...

    禁止右键 黏贴 复制 JS

    这种情况下,可以使用JavaScript来实现对右键菜单、黏贴和复制功能的限制。标题“禁止右键 黏贴 复制 JS”所指的就是利用JavaScript代码来阻止这些默认行为的技术。下面我们将详细探讨如何实现这一目标以及相关知识...

    javascript30-1键盘按键交互动画特效

    【标题】:“javascript30-1键盘按键交互动画特效” 在这个项目中,我们主要探讨的是如何使用JavaScript、CSS和HTML来创建一个键盘按键交互式的动画特效。这个项目源自"javascript30-1",这是一个旨在提升...

    javascript 密码框防止用户粘贴和复制的实现代码

    需要注意的是,虽然阻止复制和粘贴在某些情况下确实可以增强安全性,但这并不是最优的用户体验。对于一些用户来说,可能需要使用复制粘贴功能来快速填写密码,如果无法使用这一功能,可能会给他们的使用带来不便。...

    纯手写离线仿京东省市联动地址栏

    本项目名为“纯手写离线仿京东省市联动地址栏”,其目标是模仿京东网站的省市联动效果,并且完全避免依赖京东的在线资源,以确保稳定性和离线可用性。 首先,我们需要理解“省市联动”的概念。这是一种常见的前端...

    javascript获取客户端网卡MAC地址和IP地址和计算机名

    javascript获取客户端网卡MAC地址和IP地址和计算机名

    禁止网页内容被复制

    ### 禁止网页内容被复制 在互联网时代,网站的内容保护成为了许多网站开发者关注的重点之一。有时,出于版权保护或其他原因,网站管理者可能希望禁止用户复制网页上的文本或图片等资源。本篇文章将详细介绍如何利用...

Global site tag (gtag.js) - Google Analytics