Po prostu chcę utworzyć stronę modalną, która zachowuje się tak samo albo poprzez naciśnięcie przycisku wstecz przeglądarki, albo przycisku zamykania wewnątrz modalu, za pomocą bootstrap 3. Znalazłem skrypt, który to robi, ale jest problem. załóżmy, że zaczynam z google.com, przejdź do tej modalnej strony, a następnie naciśnij "Modal!" przycisk, a następnie naciśnij przycisk Wstecz przeglądarki, zostanie zamknięty modalny, jeśli ponownie wcisnę przycisk Wstecz, zabierze mnie z powrotem do witryny google.com (wszystko jest w porządku). Ale tym razem, jeśli otworzę modalną stronę i zamknę modal, użyję zamiast tego przycisku "zamknij". Ale teraz musiałbym dwukrotnie nacisnąć przycisk Wstecz, aby wrócić do witryny google.com. Jeśli otworzę i zamknę modal za pomocą przycisku zamykania wewnątrz modalu na 10x. Zauważyłem, że muszę ponownie nacisnąć przycisk przeglądarki 10 razy, aby wrócić do strony google.com. Jak rozwiązać ten problem? TIAbootstrap 3 zamknij Modal po naciśnięciu przycisku wstecz przeglądarki
<!--html, bootstrap 3.2.0-->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-body">
<p>If you press the web browser's back button not the modal's "close" button, the modal will close and the hash "#myModal" will be removed for the URL</p>
</div>
<div class="modal-footer"><button type="button" class="btn btn-default" data-dismiss="modal">Close</button></div>
</div>
</div>
</div>
<!--jquery-->
$('#myModal').on('show.bs.modal', function (e) {
window.history.pushState('forward', null, '#modal');
});
$('#myModal').on('hide.bs.modal', function (e) {
//pop the forward state to go back to original state before pushing the "Modal!" button
});
$(window).on('popstate', function() {
$('#myModal').modal('hide');
});
Czy próbowałeś 'window.history.back();' w modalnej ukryj wydarzenia? –
Próbowałem, zamiast zamykać modal, to idzie do google.com w całości. – xam
Myślę, że tak się dzieje, ponieważ po zamknięciu modala, 'window.history.back();' wyzwala popstate, które powoduje, że modal znowu się zamyka, co uruchamia kolejne 'window.history.back()' –