Su IE posso farlo con jQuery (terribilmente non standard, ma funzionante)
if ($.browser.msie)
$(document).keydown(function(e) { if (e.keyCode == 8) window.event.keyCode = 0;});
Ma è possibile farlo in un modo che funziona su Firefox o in modo cross-browser per un bonus?
Per il record:
$(document).keydown(function(e) { if (e.keyCode == 8) e.stopPropagation(); });
non fa nulla.
$(document).keydown(function(e) { if (e.keyCode == 8) e.preventDefault(); });
risolve il problema, ma rende la chiave backspace inutilizzabile sulla pagina, il che è persino peggiore del comportamento originale.
EDIT: Il motivo per cui lo faccio è che non sto creando una semplice pagina Web ma un'applicazione di grandi dimensioni. È incredibilmente fastidioso perdere 10 minuti di lavoro solo perché hai premuto backspace nel posto sbagliato. Il rapporto tra prevenzione degli errori e fastidiosi utenti dovrebbe essere molto al di sopra di 1000/1 impedendo al tasto backspace di tornare indietro.
EDIT2: Sto Non cercare di impedire la navigazione storia, pochi incidenti.
EDIT3: commento di @brentonstrines (spostato qui poiché la domanda è così popolare): questa è una 'correzione' a lungo termine, ma potresti fornire il tuo supporto dietro il bug Chromium per cambiare questo comportamento nel webkit