Reputation: 419
I have a payment form in which user can enter all his card details,and when he clicks,he is taken to the banks 3D secure page. But,the problem is, the user can simply click on the back button of the browser and can go back to payment page, if he initiates a "pay now" again,there is a chance of multiple transaction and duplication of ref ids.
So my question is: is there some way I can redirect the user to a custom page when he clicks on back button which says "Session expired, so transaction has been cancelled." so that we avoid duplication of ref ids?
Upvotes: 7
Views: 31434
Reputation: 11
If user clicked back button this will redirect you to your specified page (100% Working)
window.history.pushState({page: 1}, "", "");
window.onpopstate = function(event) {
if(event){
window.location.href = 'https://www.google.com/';
// Code to handle back button or prevent from navigation
}
}
Upvotes: 1
Reputation: 652
Use the below jquery for redirect your own url when clicking browser back button andipedia.com
jQuery(document).ready(function($) {
if (window.history && window.history.pushState) {
$(window).on('popstate', function() {
var hashLocation = location.hash;
var hashSplit = hashLocation.split("#!/");
var hashName = hashSplit[1];
if (hashName !== '') {
var hash = window.location.hash;
if (hash === '') {
alert('Back button was pressed.');
window.location='www.example.com';
return false;
}
}
});
window.history.pushState('forward', null, './#forward');
}
});
Upvotes: 18
Reputation: 111
You can use Brooke's modified script. That's a long script (should be used as external file). You can download it here!
Then use the script like this:
bajb_backdetect.OnBack = function(){
document.location.href = 'http://google.com';
}
Upvotes: 0
Reputation: 534
You have to use history api, and for better compatibility use history.js plugin.
Handling pressing back button :
$(window).bind('onpopstate', function(e){
//your dark doings here
});
Upvotes: 0