2010-02-24 3 views
12

Dzięki onclick="history.go(-1);return false;" użytkownik może przejść do poprzednich stron. Ale jeśli chcę wprowadzić metodę potwierdzającą, zanim przeniesie użytkownika do tyłu. Jak to zrobić?Jak ustawić przekierowanie javascript, aby wysłać użytkownika do ostatniej strony? zobacz kod

Myślę, że można to osiągnąć, robiąc coś jak poniżej, ale nie jestem pewien, jak przekierować użytkownika do tylnej strony?

$('.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

też jest jakiś sposób mogę sprawdzić, czy historia ma pewne wartości w niej lub jest pusta? Czy mogę ostrzec użytkownika, jeśli jest pusty?

Odpowiedz

29

Jest to dość proste, jak myślisz to jest:

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

oh powinny Próbowałem go najpierw przed pytaniem. pozwól mi spróbować. – user187580

+0

czy istnieje sposób sprawdzenia, czy w historii istnieje "coś", tj. Nie puste itd? – user187580

+0

Istnieje własność history.previous, ale jak JSRef stwierdza, że ​​* wymaga uprawnienia UniversalBrowserRead. Nie ma żadnej wartości, jeśli nie masz tego przywileju. Aby uzyskać informacje na temat bezpieczeństwa, zobacz Przewodnik po JavaScript po stronie klienta. * – anddoutoi

9

Spróbuj tego:

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

można go wstawić onclick = "return confirm ('confirm message')"; ?? – user187580

+0

Czy próbowałeś? –

+0

tak, można go tam umieścić, wypróbować. – Sarfraz

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; 
}); 
1
<script type="text/javascript" language="javascript"> 

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

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

Dodaj powyższy kod w sekcji head strony. Tutaj, gdy użytkownik naciśnie przycisk Esc, zostanie przekierowany do poprzedniej strony widoku i jeśli chcemy dodać tę logikę na przycisku Wstecz, naciśnij, a następnie zadzwoń pod goback() w przypadku zdarzenia kliknięcia.

1
$('.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; 
}); 

(Ten kod rysuje ciężko na odpowiedź Dodswarm Użytkownika).

Powiązane problemy