У меня есть простой фрагмент кода, использующий localStorage, он переносит общую стоимость эксплуатации со страницы регистрации на страницу оплаты.Это прекрасно работает примерно для 95 процентов пользователей.
Но иногда переменная не сохраняется на странице оплаты, что приводит к NULL и NAN в разных случаях.Когда это происходит, инструменты разработчика покажут переменную, правильно установленную в Local Storage, на странице регистрации (странице, которая ее устанавливает), но ничего не установят в Local Storage на странице оплаты.
Я пробовал это сделать в двух установках Chrome с одинаковыми настройками конфиденциальности (но не с одинаковыми расширениями) на отдельных MBP.Он работал нормально в одном и не переносил между страницами в другом.
Я не могу найти ничего о такой противоречивой проблеме в Google, переполнении стека или где-либо еще.Подсказки?
Вот очень простой код со страницы регистрации:
//clear local storage when loading the registration page
function clearLocal(){
localStorage.clear();
}
//calculate total
function calculate() {
//calculate total
var el, i = 0;
var total = 0;
while(el = document.getElementsByName("class")[i++]) {
if(el.checked) { total= total + Number(el.id);}
}//end while
//store total in local storage for use on payment page
localStorage.setItem("paymentTotal",total);
}