Как настроить перенаправление javascript для отправки пользователю на обратную страницу? см. код

С помощью onclick="history.go(-1);return false;" пользователь может перейти на обратные страницы. Но если я хочу поместить метод подтверждения, прежде чем он заберет пользователя обратно. Как мне это сделать?

Я думаю, что это может быть достигнуто, делая что-то вроде ниже, но я не уверен, как перенаправить пользователя на обратную страницу?

$('.clickme').click(function() {
    if(confirm("Are you sure you want to navigate away from this page?"))
    {
      //window.close();
      // how to redirect to history.go(-1) ??
    }        
    return false;
 });

UPDATE

Также есть ли способ проверить, имеет ли история какие-то значения или пусто? Так что я могу предупредить пользователя, если он пуст?

Ответ 1

Это так же просто, как вы думаете:

$('.clickme').click(function() {
   if(confirm("Are you sure you want to navigate away from this page?"))
   {
      history.go(-1);
   }        
   return false;
});

Ответ 2

Попробуйте следующее:

    if(confirm("Are you sure you want to navigate away from this page?"))
    {
      history.back();
    }     

Ответ 3

$('.clickme').click(function() { 
        if(history.length != 0)
        {
            if(confirm("Are you sure you want to navigate away from this page?")) 
            { 
                history.go(-1);
            }
         return false;
        }
        alert("No history found");
        return false;
});

Ответ 4

<script type="text/javascript" language="javascript"> 

function goBack() 
{
 window.history.back()
}

window.onkeyup = function (e) 
{
 if (e.keyCode == 27) window.history.back();
}
</script>

Добавьте вышеприведенный код в своем главном разделе страницы. Здесь, когда пользователь нажимает кнопку Esc, он будет перенаправлен на предыдущую страницу просмотра, и если мы хотим добавить эту логику на кнопку "Назад", нажмите, а затем просто вызовите goback() при событии клика.

Ответ 5

$('.clickme').click(function() { 
    if(history.length != 0)
        {
            if(confirm("Are you sure you want to navigate away from this page?")) 
            { 
                document.location.replace(document.referrer)
            }
        return false;
        }
        alert("No history found");
        return false;
});

(Этот код в значительной степени зависит от ответа Dodswarm.)