网页如何禁止鼠标右键和F12 键盘另存为、粘贴、复制事件

最近做的商用后台项目涉及到前端加密技术,为了保证前端页面展示的数据不被窃取,所以在 js 上做了一些处理,这些处理并不能完全杜绝有心之人窃取数据,只是加大他们操作的难度而已。

相关文章推荐:JS 禁用右键、Ctrl+u、Ctrl+s、F12 的实现代码

1. 禁止浏览器右键事件

使用浏览器右键可以将网页保存下来,或者审查网页源代码,这是我们想避免的(当然,仍然可以通过浏览器右上角的工具栏打开开发者工具,这里可以判断下鼠标的光标位置,如果光标移动到导航栏及页面 body 之外的地方,我们可以选择把页面展示的元素清空,这样在控制台看见的源代码也没有展示出来的数据了)。

js 实现:

document.oncontextmenu = function(){
  return false;
}

jquery 实现:

$(function(){
  $(document).contextmenu(function() {
    return false
  })
});

2. 禁止 F12 事件,键盘的选择粘贴复制事件

js 实现:

window.onload = function() {
    document.onkeydown = function(event) {
        var ev = event || window.event || arguments.callee.caller.arguments[0];
        //123 代表 F12 键
        if (event.keyCode = 123) {
            return false;
        }
    }
}

jquery 实现:

function forbidKeyboard() {
    $(document).keydown(function(e) {
        /*9:Tab 键, 17:Control 键, 18:Alt 键, 123:F12 键, 83:S 键*/
        var keyboardCode = [9, 17, 18, 123];
        for (i in keyboardCode) {
            if (keyboardCode[i] == e.keyCode) {
                return false;
            }
        }
        if ((e.keyCode == 83) && (e.ctrlKey || e.metaKey)) {
            return false;
        }
    });
    /*禁止文本选择功能*/
    $(document).bind("selectstart",
    function() {
        return false;
    });
}
$(function() {
    forbidKeyboard();
});

「点点赞赏,手留余香」

0

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » 网页如何禁止鼠标右键和F12 键盘另存为、粘贴、复制事件

发表回复