Меняет ли назад / вперед в браузере переменные javascript?

<script type="text/javascript>
var x = 0; //this occurs in the beginning of the page.

$("#button").onclick{
x = 1;
}

</script>

Допустим, переменная "x" меняется на 1. Затем пользователь щелкает ссылку. Когда пользователь нажимает "назад", будет ли х равен 0 или 1?

2 ответа

Решение

Это будет 0 , Браузер не кэширует состояние переменных Javascript между загрузками страниц.

Обновить

Это не так в браузерах, таких как Firefox. Пожалуйста, посмотрите ответ Трея.

Как подробно описано в другом вопросе, реальный ответ на этот вопрос зависит от браузера.

В Firefox и Opera на странице ниже будет сохранено состояние 1 если щелкнуть Set x, ссылка щелкает, а затем нажимается кнопка возврата. Тем не менее, в Chrome и IE6 страница будет перезагружена и x будет иметь значение 0,

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<input type="button" id="button" value="Set x">
<input type="button" id="check-x" value="Check x">
<a href="http://www.stackru.com">Click Me</a>
<script>
var x = 0;

$("#button").click(function(){
    x = 1;
});

$("#check-x").click(function(){
   alert(x); 
});
</script>
Другие вопросы по тегам