Доброй ночи! Мои мозги закипают уже
Имеется набор функций моего редактора, перед выполнением каждой фукции я сохраняю прошлый результат всего редактора в массив. Есть кнопка "Вернуть" при нажатии возвращается преведущий результат...
Дело в том что такой способ полностью работает, но так как я в массив заношу каждый раз огромный код сжатый код, хотелось бы ограничить "Возвращение" до 10 этапов
Как реализовано у меня:
Заход1:
Меняем данные в редакторе и пытаемся вернутся back(); => удивительно но работает сколько бы раз не возвращались (до 10)
Заход2:
Пытаемся после возвращений что-то изменить данные редактора и пытаемся вернутся back(); => не хочет возвращаться вообще
h_i = 1; // указал единицу так как в массиве первый ключ 1
history = [];
addhistory(); // Запускаю первый раз что бы добавить данные "как есть"
function addhistory() {
content = '';//тут я загоняю сгенерированный код редактором в JSON
if( history.length > 11 ) { // на 10 раз
h_i = 1;
history = [];
}
history.unshift(content);
}
function back() {
if( history.length > h_i ) { //смотрим что-бы хватало истории
readcontent( history[ h_i ] ); // возвращаем предыдущие данные
h_i++;
}
}