最近有客户反映系统一个页面可以打开过个,因为页面里面有计时功能,会导致计时不准确,网上收集了一些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 <script type="text/javascript"> window.onload = function() { if (top.location != self.location) { //...
然而,有些特定场景下,企业可能希望将Web软件包装成C/S(Client/Server,客户端/服务器)模式,以提供更定制化的用户体验,例如屏蔽浏览器菜单和地址栏,提高应用的安全性和可控性。本文将详细探讨如何实现这一目标...
根据给定的文件信息,我们可以深入探讨如何使用JavaScript来屏蔽Internet Explorer(IE)浏览器的工具栏、菜单栏和地址栏,实现一个自定义界面的弹窗功能。这在某些应用场景下,比如创建一个干净无干扰的用户界面或...
JavaScript正则获取地址栏中参数的方法主要阐述了如何通过正则表达式在JavaScript中获取URL地址栏参数值的技巧。这一方法在Web开发中十分实用,尤其是在处理动态地址时,我们经常需要获取某些特定的查询参数值。通过...
虽然使用JavaScript屏蔽右键功能可以有效地保护网页内容,但这种方法并非没有限制和潜在问题: 1. **用户体验**:完全屏蔽右键可能会降低用户体验,特别是对于那些习惯于使用右键菜单进行导航或操作的用户。 2. **...
在互联网上,我们经常会遇到一些网页内容禁止我们进行复制的情况,这背后往往是通过JavaScript代码实现的。当网站不希望其内容被用户复制时,可以通过编写特定的JavaScript脚本来禁止复制。这种技术的使用,有时会...
禁止粘贴、复制和剪切操作 这些功能也是通过添加事件监听器实现的。例如,禁止复制操作可以通过以下方式: ```html ;" oncut="return false;"> ``` 对于粘贴操作: ```html ;"> ``` #### 4. 自定义图标 为了提高...
JavaScript和JQuery是实现这一功能的常用脚本语言,通过编写特定的代码可以轻松地实现屏蔽右键和复制的效果。 ### 屏蔽鼠标右键菜单及禁止选择复制的基本原理 屏蔽鼠标右键菜单主要是通过监听鼠标右键事件...
标题"html禁止网页文字复制"所涉及的核心技术就是如何通过HTML和JavaScript(特别是jQuery库)来实现这一功能。接下来,我们将深入探讨如何实现这个功能,并提供相关代码示例。 首先,HTML本身并不具备直接禁止文本...
然后,我们可以在H5页面加载完成后,注入一段JavaScript代码,隐藏浏览器的地址栏和工具栏: ```java webView.loadUrl("javascript:(function(){" + "document.getElementById('toolbar').style.display='none';" ...
在探讨“js禁止右键和禁止复制”的主题时,我们主要关注的是如何通过JavaScript来实现对用户在网页上的右键点击以及文本复制功能的禁用。这种方法常被用于保护网站内容不被轻易复制或下载,尤其是在版权敏感的环境中...
### 使用JavaScript屏蔽功能键 #### 1. 屏蔽键盘所有键 为了完全禁止用户通过键盘操作页面,可以通过以下方式实现: ```javascript document.onkeydown = function (event) { // 如果事件对象不存在,则创建一个...
3. **动态加载内容**:AJAX(异步JavaScript和XML)技术允许在不刷新整个页面的情况下更新导航栏中的内容,如实时通知或个性化推荐。 4. **交互反馈**:例如,当用户点击一个链接后,JavaScript可以改变导航条上的...
总的来说,通过JavaScript来屏蔽网页的右键复制和Ctrl+C快捷键是一种常见的技术手段,但需要平衡好用户体验和内容保护之间的关系。在实际开发中,我们还需要考虑到其他可能的复制方式,如浏览器的 inspect element ...
1.Enable Copy 插件可以破解掉网页中因网站开发者使用JavaScript脚本启动的网页禁止复制功能,如果是别的方式(比如网页上的文本使用flash插件载入来禁止用户复制、右键等功能)的时候,Enable Copy 插件的破解方法...
这是我自己写得一个例子,通过js屏蔽复制的.还有右键,网上搜到的,都是屏蔽整个body,我稍作了修改.可以屏蔽文本框.
此外,过度的限制也可能影响用户体验,如阻止文本选中可能会妨碍合法的使用场景,比如用户想要选择地址栏中的URL。因此,在实施这些保护措施时,开发者应权衡其必要性,确保不会过分干扰正常用户的使用体验。 总之...
需要注意的是,虽然阻止复制和粘贴在某些情况下确实可以增强安全性,但这并不是最优的用户体验。对于一些用户来说,可能需要使用复制粘贴功能来快速填写密码,如果无法使用这一功能,可能会给他们的使用带来不便。...
此外,JavaScript还可以实现窗口的最小化、最大化和关闭效果,以及任务栏图标的动态添加和移除。 这个项目虽然粗糙,但其创新之处在于将桌面操作系统的功能引入到浏览器环境中,让用户体验到类似的操作流程。对于...
在本文中,我们首先介绍了JavaScript中处理键盘按键事件的三种不同类型的事件:keydown、keypress和keyup,以及它们对应的事件句柄onkeydown、onkeypress和onkeyup。这些事件类型在处理按键时是有顺序和差异的:首先...