Я не совсем уверен, понимаю ли я, что вы делаете с модальными окнами, но первое, что приходит мне в голову, - это написать функцию и обернуть history.go (-1) в условный
function goBackIfAppropriate() {
if( /* <check goes here> */ ) {
history.go(-1);
}
}
и в вашей разметке
<a href="javascript:goBackIfAppropriate()">Back Button</a>
Просто чтобы не дать этому ответу закончиться без какого-либо упоминания о jQuery: посмотрите «BBQ jQuery: Кнопка« Назад »и библиотека запросов»
Обновление:
Хорошо, вот что у нас есть здесь - это противоречивое поведение history.go в фреймах в браузерах. Firefox3, кажется, делает именно то, что вы хотите, а Chromium нет. Что вы могли бы сделать, это предоставить идентификатор вашей "задней" -линке
<a href="javascript:history.go(-1)" id='back_button'>Back</a>
Затем, после загрузки вашего iframe-контента, вы получаете ссылку:
var iframe = document.getElementsByTagName("iframe")[0];
var link = iframe.contentDocument.getElementById("back_button");
link.parentNode.removeChild(link);
или (используя jQuery;)
$("iframe").contents().find("#back_button").remove();
или делай с ней что хочешь.