У нас есть веб-приложение, которое определяет набор сочетаний клавиш. Одним из них является Ctrl + Shift + T. Проблема в том, что Microsoft Edge подключается к этой комбинации клавиш, чтобы снова открыть ранее закрытую вкладку или окно, а затем переключиться на него.
Ссылка: Сочетания клавиш в Microsoft Edge.
Я немного поиграл, пытаясь обойти это с помощью JavaScript:
<!DOCTYPE html>
<html>
<head>
<title>Ctrl + Shift + T</title>
<script type="text/javascript">
var tKey = 84;
function logKeys(event) {
console.log(event.type + ": " + event.keyCode);
if (event.keyCode === tKey) {
event.preventDefault();
event.stopPropagation();
setTimeout(function() { window.focus(); }, 200);
}
}
document.documentElement.addEventListener("keydown", logKeys);
document.documentElement.addEventListener("keypress", logKeys);
document.documentElement.addEventListener("keyup", logKeys);
</script>
</head>
<body>
</body>
</html>
Я надеялся отменить события клавиатуры с помощью JavaScript, чтобы Edge не открывал ранее открытую вкладку или окно. Сочетание клавиш Edge по-прежнему имеет приоритет. На самом деле консоль браузера даже не регистрирует сообщение журнала для клавиши T, обозначенной event.keyCode
84.
Может быть, мои навыки работы с JavaScript немного заржавели.
Есть ли способ запретить Edge повторно открывать предыдущую вкладку или окно при нажатии Ctrl + Shift + T с помощью JavaScript? сильный>
Ctrl+T
иCtrl+Shift+T
, не могут быть заблокированы и всегда будут отправляться в браузер при использованииkeyCode
. Я предлагаю вам перейти на другой ключ вместоT
или попробовать решение, которое предлагает Ajedi32. - person Yu Zhou   schedule 08.02.2021