使用javascript替换浏览器ctr + n默认处理程序?

时间:2011-07-18 05:14:38

标签: javascript browser

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

2 个答案:

答案 0 :(得分:6)

浏览器的设计使网站可以在沙盒中运行。防止任何恶意(恶意或无意)不影响计算机本身。因此,您可以更改自己的浏览器设置,我怀疑您会找到一种简单的方法来执行此操作。

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

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

答案 1 :(得分:0)

不,我刚尝试过。它不起作用:

$(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');
});

如果您按Ctrl + i,则将e.which == 78更改为e.which == 73会使其在Chrome中正常工作,因为Ctrl + i在Chrome中没有任何默认操作。但是你不能覆盖默认的浏览器行为,这正是我猜测会发生的事情。