Локальное хранилище * Иногда * Не удается установить или сохранить переменную между страницами - PullRequest
0 голосов
/ 25 июня 2018

У меня есть простой фрагмент кода, использующий 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);

    }
...