【发布时间】:2018-07-05 19:01:02
【问题描述】:
我会禁用我的 HTML 测试页面上的一些按钮(F12、右键单击和 Ctrl-U)。
我的代码有效,但 F12 似乎已启用,并且当他 活动 时(我的意思是,当我按下并看到“分析页面”,Ctrl-U开始工作)。
我已经在这里发布了 JavaScript 代码,以获取一些建议:
// DX MOUSE
//============
var message="";
function clickIE() {if (document.all) {(message);return false;}}
function clickNS(e) {if
(document.layers||(document.getElementById&&!document.all)) {
if (e.which==2||e.which==3) {(message);return false;}}}
if (document.layers)
{document.captureEvents(Event.MOUSEDOWN);document.onmousedown=clickNS;}
else{document.onmouseup=clickNS;document.oncontextmenu=clickIE;}
document.oncontextmenu=new Function("return false")
// F12
//==========
document.onkeypress = function (event) {
event = (event || window.event);
if (event.keyCode == 123) {
// alert('No F-12');
return false;
}
};
// CTRL + U
//==============
document.onkeydown = function(e) {
if (e.ctrlKey &&
(e.keyCode === 85)) {
// alert('not allowed');
return false;
}
};
PS 如果我禁用“alert”:点击两次后,Mozilla 上会出现 popup 和代码停止工作。
【问题讨论】:
-
如果你想禁用查看源代码,那么现在就放弃吧,这不值得你努力。有太多其他(非浏览器)方法可以获取您的源代码 - 例如
curlHttpClientajax。 -
覆盖网络浏览器的默认行为通常是个坏主意。 stackoverflow.com/questions/12381563/… 。尝试查找 kiosk 模式或使用电子(nodejs 包)
-
对不起,我的问题超出了主题。 kisok 或 electron,表示客户端需要运行一个可执行文件
-
尝试创建另一个线程以使用 setTimeout 显示警报,看看会发生什么 setTimeout(function(){/*alert*/})。
标签: javascript jquery button keyboard