本文提供JavaScript屏蔽常见用户操作的完整代码示例,涵盖禁用F1、F5、Ctrl+N等快捷键,屏蔽鼠标右键菜单,以及阻止网页内容的选中、复制、剪切和粘贴功能。此外,还介绍了通过替换URL屏蔽后退功能、清空剪贴板防止截图以及捕获JS报错忽略错误的方法,帮助开发者增强网页安全性与用户体验。
JavaScript屏蔽常用操作与快捷键的完整示例
JavaScript屏蔽功能示例
代码实现如下:
/** 禁用F1帮助键 */
window.onhelp = function(){return false;}
/**
*禁用 F5、Ctrl+N、Shift+F10、Alt+F4
*若要禁用其他按键,获取对应 keyCode 并按此逻辑处理即可
*/
document.onkeydown = function(event){
event = window.event || event;
if(event.keyCode==116 || (event.ctrlKey && event.keyCode==78) || (event.shiftKey && event.keyCode==121) || (event.altKey && event.keyCode==115)){
event.keyCode =0;
event.returnvalue = false;
}
}
/** 禁用鼠标右键菜单 */
document.oncontextmenu = function(){return false;}
//或者
document.onmousedown = function(event){
event = window.event || event;
if(document.all && event.button == 2) {
event.returnvalue=false;
}
}
/**
* 禁用“后退”功能(<a href="javascript:replaceLocation('http://www.google.com')" mce_href="javascript:replaceLocation('http://www.google.com')">Google</a>)
* @param url 页面跳转的目标URL
*/
function replaceLocation(url){
document.location.replace(url);
}
/** 禁用网页内容选中 */
document.onselectstart=function(){return false;}
/** 禁用网页内容复制 */
document.body.oncopy = function(){return false;}
/** 禁用网页内容剪切 */
document.body.oncut = function(){return false;}
/** 禁用向网页粘贴内容 */
document.body.onpaste = function(){return false;}
/** 禁用屏幕截图(持续清空剪贴板) */
window.setInterval('window.clipboardData("Text", "")', 100);
/**
* 禁用查看源文件( <body onload=clear()> )
*/
function clear() {
var source=document.body.firstChild.data;
document.open();
document.close();
document.body.innerHTML = source;
}
/**
* 屏蔽JavaScript报错
*/
function KillError()
{
return true;
}
window.onerror=KillError;