Oi, Emanuel, tudo bem?
Desculpa a demora em te responder!
Desabilitar completamente os botões "voltar" e "avançar" do navegador não é possível usando apenas JavaScript ou jQuery. Esses botões são recursos nativos do navegador e estão fora do alcance de manipulação do código JavaScript.
No entanto, é possível trabalhar em torno disso e limitar o impacto que esses botões têm na sua aplicação. Para isso, podemos usar a abordagem que você mencionou usando window.history.pushState
dessa forma, conseguimos evitar que o botão "voltar" seja usado para navegar de volta à tela anterior. Isso modifica o histórico do navegador, fazendo com que a tela atual seja a única entrada no histórico de navegação.
Ficaria assim:
window.addEventListener('popstate', function () {
// Impedir que a página volte
history.pushState(null, '', window.location.href);
});
Essa função será chamada sempre que o usuário pressionar o botão "voltar" do navegador e, em seguida, ela executará opushState
novamente, impedindo a navegação.
Embora isso possa limitar a funcionalidade dos botões "voltar" e "avançar" do navegador, é importante observar que não é possível desabilitá-los completamente. Os usuários ainda podem usar atalhos de teclado, como Alt + Seta para a esquerda (voltar) e Alt + Seta para a direita (avançar), para navegar pelo histórico de qualquer maneira.
Limpar o histórico de navegação do navegador também não é algo que possa ser feito por código JavaScript. O histórico de navegação é um recurso controlado pelo próprio navegador e não está disponível para manipulação direta por meio de JavaScript.
Todavia, vale ressaltar que como é um assunto externo ao curso e que não tenho acesso ao cenário completo do projeto, outros testes terão de ser feitos a fim de obter o resultado esperado, mas espero que esta resposta seja um bom ponto de partida para a resolução do seu problema.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!