javascript:
/// 禁 止Ctrl+N
<body> 中加入 onkeydown="KeyDown()"
function keydown()
{
if ((event.ctrlKey)&&(event.keyCode==78))
  {  
     event.returnValue=false;
  }
}
要想把文件菜单中的新建无效,应该把菜单栏不显示。

解决方案 »

  1.   


    function disable()
    {
    if ((event.ctrlKey)&&(event.keyCode==78))
      { 
         alert("you are not allowed to use these keys"); 
         event.returnValue=false;
      }
    }
    <body onkeydown="disable()">2 window.open("url","","menubar=no;")
      

  2.   

    但我仅仅想屏蔽菜单中的‘新建窗口‘菜单项,但其他‘打印‘, ‘另存为‘ 等菜单
    项却允许用户选择。有没有好方法啊? 
    我知道要屏蔽‘打印‘菜单项可以在JSP文件开始时设置<style>
    @media print {
       * { display: none }
    }
    </style>不知道是否有类似的方法解决屏蔽菜单中的‘新建窗口‘
    之所以要屏蔽他是因为通过‘CNTR+N'创建的新窗口将拥有与当前窗口同样的sessionID
    当在同一部PC中同时用CNTR+N创建多个窗口时将无法通过sessionID区分不同用户的信息
      

  3.   

    老兄,这样的想法是不切实际的。以前我也碰到了类似需要屏蔽F5刷新键或者CtrlN,这样的需求,但是后来都通过改变设计满足了。IE浏览器就是这个德行,如果你想去掉这些功能还不如自己写一个浏览器程序,将微软的Web Browser控件包装一下,自然就能解决问题了。但是这样不是我们使用BS系统的初衷,我们的想法是用户不需要安装任何的客户端软件,只要有个浏览器,就可以使用我们的程序,试想,现在用户使用的哪个操作系统中会不带浏览器那?所以还是仔细的分析一下如何改进设计,改进布局使得不需要来修改浏览器。Good Luck