использовать JavaScript, чтобы заменить браузер ctr + n обработчик по умолчанию? - PullRequest
0 голосов
/ 18 июля 2011

Мне было интересно, существует ли хитрый фрагмент JavaScript для замены обработчика событий Crl + N веб-браузеров по умолчанию (они открывают новый файл). (Я знаю, что это плохая работа мальчика, и я также знаю, что шансы невелики.)

Ответы [ 2 ]

6 голосов
/ 18 июля 2011

Браузеры разработаны таким образом, что веб-сайты работают в песочницах.Предотвращение чего-либо, что становится кислым (злонамеренное намерение или нет), чтобы не затронуть сам компьютер.Так что вы можете изменить собственные настройки браузера, я сомневаюсь, что вы найдете простой способ сделать это.

Кроме того, вам не следует делать это, даже если вы найдете способ.IE позволит вам удалить буфер обмена, но это не значит, что это не разозлит каждого пользователя, который посещает ваш сайт.

Почему вы все равно хотите такого поведения?Я не вижу никакой дружеской причины.

0 голосов
/ 18 июля 2011

Нет, я только что попробовал. Это не работает:

$(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 == 78 на e.which == 73 делает его работающим в Chrome, если вы нажимаете Ctrl + i, так как Ctrl + i не выполняет никаких действий по умолчанию в Chrome. Но вы не можете перезаписать поведение браузера по умолчанию, что я и предполагал в любом случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...