Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Removing current page from browser history

I'm building a text editor in my website, the workflow is as follows.

  1. In /list, the user picks an entry they want to edit from a list which takes them to /edit/[article_id].
  2. The user does their work, and then clicks submit.
  3. The server processes the thing, and redirects them back to /edit/[article_id] which by now reflects the edited work. The server also activates a flash message on the page to indicate the edit was successful.

By this point, the user probably wants to go back to /list and clicks the browser's Back button. This will take them back to the editor repeatedly depending on how many times they submitted.

I've tried putting a Back button somewhere on the page, but a good many users simply ignore it.

I'd rather not make the submission posted via AJAX, since that would also affect the flash message system.

What I like to do, is replace the last entry on the history list when the user submits, without changing its length. Is it possible?

like image 224
starleaf1 Avatar asked Mar 21 '17 05:03

starleaf1


People also ask

What is window history?

The history property of the Window object refers to the History object. It contains the browser session history, a list of all the pages visited in the current frame or window. Since Window is a global object and it is at the top of the scope chain, so properties of the Window object i.e. window.


1 Answers

Try this

window.location.replace(url);

after using replace() the current page will not be saved in session history, meaning the user won't be able to use the Back button to navigate to it.

like image 100
Alfin Paul Avatar answered Sep 19 '22 17:09

Alfin Paul