Problem z Backspace przy w Fifefoksie

0

Dzień dobry!

Mam problem z moją przeglądarkową powłoką Bash4U w JavaScript (https://bash4u-online.netlify.com/). Niby wszystko działa, ale kiedy testowałem aplikację na Firefoksie, okazało się, że klawisz Backspace, który pełni ważną rolę jaką jest kasowanie znaków w powłoce służy w tej przeglądarce powoduje cofanie się do poprzednio oglądanej strony. Co zrobić aby wciskanie Backspace było poprawnie odbierane. Oto kod HTML strony:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html 
     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
 <head>
  <title>Bash4U</title>
  <script src="bash4u.js"></script>
 </head>
 <body onkeydown="typesome(event)">
  <pre id="shell">[default@bash4u]~></pre>
 </body>
</html>

Kod powłoki w JS znajduje się na Pastebin: https://4programmers.net/Pastebin/15504
Jedyne co przychodzi mi na myśl to zastosowanie pola tekstowego tylko do odczytu, lecz wtedy strona bardzo brzydko by wyglądała.

1

Zdaje się, że w przypadku Chrome oraz Firefoxa musisz łapać zarowno keydown jak i keypress (https://stackoverflow.com/questions/14050086/firefox-keydown-backspace-issue).

Btw, to Ci się powinno spodobać: https://bellard.org/jslinux/ :-)

1

Dziękuję, a problem z podwójnym wywoływaniem rozwiązałem tak że reaguję tylko na onkeydown a do onkeypress przypisałem pustą funkcję.

1 użytkowników online, w tym zalogowanych: 0, gości: 1