У меня есть форма оплаты, в которой пользователь может ввести все данные своей карты, а когда он нажимает, он берется на защищенную страницу банков. Но проблема заключается в том, что пользователь может просто щелкнуть по кнопке «Назад» браузера и вернуться на страницу оплаты, если он снова инициирует «оплатить сейчас», есть вероятность нескольких транзакций и дублирования ссылок.
Поэтому мой вопрос: есть ли способ перенаправить пользователя на пользовательскую страницу, когда он нажимает кнопку «Назад», в которой говорится, что «Сессия истекла, поэтому транзакция отменена». чтобы избежать дублирования ссылок?
Используйте приведенный ниже jquery для перенаправления собственного URL-адреса при нажатии кнопки «Назад»
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'); } });
Вы должны использовать историю api, и для лучшей совместимости используйте плагин history.js .
Обращение с кнопкой возврата:
$(window).bind('onpopstate', function(e){ //your dark doings here });
Вы можете использовать модифицированный скрипт Brooke. Это длинный скрипт (должен использоваться как внешний файл). Вы можете скачать его здесь !
Затем используйте скрипт следующим образом:
bajb_backdetect.OnBack = function(){ document.location.href = 'http://google.com'; }