Skip location from being pushed to the browser navigation history stack - browser

Assuming the following scenario:
User is on product list page
Clicks a product and is redirected to the product detail page
Clicks on purchase button
POST /products/1/purchase/ is executed and redirects back to product detail page
User clicks back button
POST /products/1/purchase/ is executed again (FAIL! it should have been redirected to product list page)
How would you solve the back button problem?
Is there any response code that forces the browser to skip the location from history stack?
Assuming I can implement my own back button, how would you implement it?
Manually tracking the history, client-side
Manually tracking the history, server-side
Setting checkpoints and redirecting back to the checkpoint in case of existence

See:
Back button re-submit form data ($_POST)

Related

Browser back button is not working in Blazor web-server

I want to go previous page when the user clicks on the browser back button. When I navigate another page, I can not go to the last page by using the browser back button. So, can anyone help me find a solution to this problem?
Ensure that every state that you want to show up in next/back is differentiated by a route change navigated to by NavigationManager.
If you make a page /somePage and you let the user step through several choices, and then the user navigates (using the URL bar) then hits the back button on the browser, they will go back to /somePage and not back to the choices they made.
If you make a page /somePage and each time the user makes a choice they are navigated to a new page using NavigationManager, for example /somePage/someSelection, then when they hit back they will go back to /somePage/someSelection. This requires you to load data on subpage choices on init based on optional page route parameters, but the tradeoff is having browser navigations that are part of next/back.

dynamically redirect users to specific page based on where they came from

Let's say I have a route to register a user like:
router.post('/register', registerSchema, register);
Apparently inside the register function we save the new signed up user to database.
After registration, I want to redirect users to a specific page based on where they come from.
if user's come from button 1 they should go to dashboard page.
if they come from button 2 I want to redirect them to payment page ok?
How can I do this in a appropriate way?
I tried to send users to sign up page when they click on button 1 to href="signup?next=dashboard"
But I cannot get the query string when they click on register button... clicking on register button don't care about where they came from it just hits the register route...

Browser back button navigation

Whenever browser back is clicked, it must not navigate to the previous page but to some default page. how is it done using JSF ?
Clicking on browser back button requests the result page from the browser cache.
This is a client side activity. It doesn't send request to your server for fetching some default page(in your case).
Please refer this post for writing a filter indicating the browser not to cache dynamic JSF pages.
And also you can refer this one for more details.
You can try to detect if User has clicked on browser back button by writing client side code.
Refer this post for detecting back button click.
If you are trying to alter the behaviour of browser back button, it indicates some kind of flaw in your application.

Reset View of webpage JSF

Is there a way to reset the view of a page in JSF?
I have a page to upload files and it keeps filling a table with the files the user wants to submit, once the user clicks on submit I want the page to be in the initial state as if it was the first time the user visited it.
Hope I explain myself correctly.
Well after searching and thinking a bit, I think I got it.
Just in the action attribute of the submit button redirect the page to the same page, this will cause to create a new view of the same page.

Controlling the behavior of the Browsers Back Button

We created an E-Newsletter for a client that includes lots of story links as well as banner adds. The majority of users are reading the newsletter in MS Outlook. The client thinks users will get confused when they click on a link from the newsletter and it opens in their browser and then the user can't hit the browser's back button in order to get back to the newsletter.
What are my options?
Is it possible to control where the Browsers back button takes the user? I would guess not for security reasons.
If I have the newsletter links go through our main site and then redirect to the desired page (story or ad), can I do it in such a way that the back button will work and won't result in the user being redirected back to the redirect page?
Is there a better approach?
Overall, the back and forward buttons step the user through the history and for security reasons, there is very little you can do about that. But ...
You do have a certain amount of control over the history. In particular, page 1 can say "go to page 2", and once the user is on page 2, the back button will return the user to page 1 OR page 1 can say "replace me in history with page 2"; then once the user is on page 2, the back button will return the user whatever was before page 1, if anything. This is a good way to Orwell redirect pages right out of memory.
See here for details.

Resources