Fra*_*ool 7 javascript google-chrome-devtools node-webkit chrome-app-developer-tool
我们正在开发基于Chrome应用程序和NWJS 0.13.0 Alpha版本的应用程序,因为较低版本不支持Chrome应用程序.我们需要版本13,因此我们可以使用串行端口.
但是在Windows或Ubuntu中,当按下右边的clic时,它显示了一个菜单,我禁用了(因为它是这样指定的),在我的所有HTML中使用以下函数:
<body oncontextmenu="return false">
<script language="javascript">
document.onmousedown=disableclick;
function disableclick(event) {
if(event.button==2) {
return false;
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
但是在Mac OS X中,由于自定义菜单,我们遇到了另一个问题,在阅读清单格式后,我发现在我的package.json文件中我需要添加"no-edit-menu": false属性而该菜单不再显示,该package.json文件如下:
{
"main": "main.html",
"name": "PAGUSS",
"description": "Paguss Payment Services",
"version": "0.1.0",
"keywords": [ "paguss", "payment" ],
"window": {
"title": "Paguss",
"transparent": true,
"icon": "assets/images/64x64.png",
"toolbar": false,
"frame": true,
"resizable": true,
"position": "mouse",
"min_width": 400,
"min_height": 500,
"max_width": 1200,
"max_height": 800,
"no-edit-menu": false
},
"webkit": {
"plugin": false
}
}
Run Code Online (Sandbox Code Playgroud)
现在,我试图改变"toolbar": false,的package.json文件,因此没有工具栏,因此用户不能从那里开devtools,但如果他们按F12或Shift-Ctrl-J他们仍然能够打开devtools窗口.我在上面的脚本中尝试了以下一行,尝试禁用devtools窗口打开但没有成功(至少在Mac OS X上我们优先禁用它):
if(event.button==2 || window.event.keycode==123 || (window.event.keycode==55 && window.event.keycode==58 && window.event.keycode==34)) {
return false;
}
Run Code Online (Sandbox Code Playgroud)
我从这里获得了Apple键盘的上述密码.
我是Javascript编码的新手,所以我的一些尝试可能不对或接近正确.
有没有办法在任何操作系统上禁用开发工具在NWJS 13上打开?
我发现第二次使用keyCodes时出错了.
我试图在右键单击事件上调用脚本,我将代码更改为:
<script language="javascript">
document.onmousedown=disableclick;
document.onkeydown=disableconsole;
function disableclick(event) {
if(event.button==2) {
return false;
}
}
function disableconsole(event) {
if (event.keyCode==123) {
return false;
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
这实际上阻止了控制台F12在Linux上使用密钥打开开发工具,但是即使使用此更新,Windows和OS X仍然无法正常工作.
我发现在这个表上看到不同的操作系统有不同的keyCodes,所以我想我在Windows和OS X上测试时没有得到成功的响应.
好吧,在尝试了很多事情并阅读了大量示例之后,我发现有和属性。ctrlKey altKey shiftKeymetaKey
之后,我提供了这个脚本,它将阻止用户通过快捷方式(即F12在 Windows 和 Linux 以及\xe2\x8c\x98 \xe2\x8c\xa5 IMac 上)打开 NWJS 13 上的 DevTools。并且还禁用右键菜单。
<script language="javascript">\n document.onmousedown=disableclick;\n document.onkeydown=disableconsole;\n function disableclick(event) {\n if(event.button==2) {\n return false; \n }\n }\n function disableconsole(e) {\n evtobj = window.event? event : e;\n if (evtobj.keyCode==123 || //Linux & Windows\n (evtobj.metaKey && evtobj.altKey && evtobj.keyCode==73)) { //Mac\n return false;\n }\n }\n</script>\nRun Code Online (Sandbox Code Playgroud)\n\n解决这个问题的另一种方法是使用 NWJS alpha 版本 3(不带 SDK),该版本是在NWJS Google Group上指定的,但我后来阅读了它。
\n| 归档时间: |
|
| 查看次数: |
3078 次 |
| 最近记录: |