Il problema è che l'history.length, dopo la prima pagina non tornerà mai ad essere 0 ma continuerà ad incrementarsi, quindi la condizione history.length > 0 sarà sempre verificata.
Ti riporto l'html di 3 pagine che dovrebbero farti capire meglio il mio problema. Parti aprendo a.html.
a.html:
<html>
<body>
<script>
alert(history.length)
</script>
avanti
</body>
</html>
b.html:
<html>
<body>
<script>
alert(history.length)
</script>
indietro
avanti
</body>
</html>
c.html:
<html>
<body>
<script>
alert(history.length)
</script>
indietro
</body>
</html>
Grazie