Меняет ли назад / вперед в браузере переменные 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>