Firefox и IE действительно действуют так, как вы упомянули, но Chrome нет, и я предполагаю, что другие браузеры WebKit будут делать то же самое.В Chrome нажатие кнопки «Назад» приведет вас туда, куда вы хотите перейти (предыдущий URL родительского фрейма).то есть Chrome, чтобы не добавлять изменения URL iframe в историю кнопок возврата.
К сожалению, я не нашел способа заставить IE и FF повторить это, поэтому я использовал подход поста AJAX, предложенный Аруном выше.
Вот мой источник iframe, который использует jQuery для публикации формы и замены всей страницы результатом этого POST:
<form method="post" onsubmit="postForm(this);return false">
...
</form>
<script type="text/javascript">
function postForm(form) {
$.post(form.action, $(form).serialize(), postCompleted);
}
function postCompleted(data) {
$('html').html(data);
}
</script>
Это работает во всех браузерах;нажав кнопку «Назад», вы вернетесь к предыдущему URL-адресу, увиденному конечным пользователем, вместо начальной формы, динамически загружаемой в iframe.