使用javascript代替浏览器的CTR + n默认处理程序

use javascript to replace browser ctr + n default handler?

本文关键字:默认 处理 程序 CTR javascript 浏览器 使用      更新时间:2023-09-26

我想知道是否存在一个棘手的JavaScript片段,以取代web浏览器默认的Crl+N事件处理程序(他们打开一个新文件)。(我知道这是一个坏男孩的工作,我也知道机会很低。)

浏览器的设计使网站在沙盒中运行。防止任何事情变坏(恶意或无意)不影响计算机本身。所以你可能可以改变你自己的浏览器设置,我怀疑你会找到一个简单的方法来做到这一点。

此外,即使你找到了一种方法,你也不应该这样做。IE可以让你删除剪贴板,但这并不意味着这样做不会惹恼所有访问你网站的用户。

你为什么想要这样的行为?我找不出任何友好的理由。

没有,我刚试过。它不工作:

$(window).keydown(function(e){
  if(e.which == 17)
      $(window).bind('keydown.ctrln', function(e){
          if(e.which == 78){
              e.preventDefault();
              alert('CTRL+N');
          }
      });
});
$(window).keyup(function(e){
  if(e.which == 17)
      $(window).unbind('keydown.ctrln');
});

改变e.which == 78e.which == 73使其在Chrome中工作,如果你按Ctrl+i,因为Ctrl+i在Chrome中没有任何默认的动作。但是你不能覆盖默认的浏览器行为,这是我猜无论如何都会发生的。