Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 本地存储*有时*无法在页面之间设置或持久化变量_Javascript_Html_Google Chrome_Local Storage_Persistent Storage - Fatal编程技术网

Javascript 本地存储*有时*无法在页面之间设置或持久化变量

Javascript 本地存储*有时*无法在页面之间设置或持久化变量,javascript,html,google-chrome,local-storage,persistent-storage,Javascript,Html,Google Chrome,Local Storage,Persistent Storage,我有一个使用localStorage的简单代码,它将运行成本总额从注册页面转移到支付页面。这对大约95%的用户来说效果很好 但有时该变量无法持久保存到付款页面,导致在不同的实例中出现NULL和NAN。发生这种情况时,开发人员工具将在注册页面(设置变量的页面)上正确显示在本地存储中设置的变量,但在支付页面上根本不会显示在本地存储中设置的变量 我在两次Chrome安装中尝试了这一点,在不同的MBPs上使用相同的隐私设置(尽管扩展不相同)。它在其中一个页面上运行良好,而在另一个页面上无法在页面之间传输

我有一个使用localStorage的简单代码,它将运行成本总额从注册页面转移到支付页面。这对大约95%的用户来说效果很好

但有时该变量无法持久保存到付款页面,导致在不同的实例中出现NULL和NAN。发生这种情况时,开发人员工具将在注册页面(设置变量的页面)上正确显示在本地存储中设置的变量,但在支付页面上根本不会显示在本地存储中设置的变量

我在两次Chrome安装中尝试了这一点,在不同的MBPs上使用相同的隐私设置(尽管扩展不相同)。它在其中一个页面上运行良好,而在另一个页面上无法在页面之间传输

我在Google、Stack Overflow或其他任何地方都找不到关于这种不一致问题的任何信息。暗示

以下是注册页面中非常简单的代码:

    //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);

    }

你是怎么进入下一页的?您是否通过
location.href
更改来执行此操作?一个
点击?
提交?触发localstorage写入的是什么?单击“提交”按钮时,通过formhandler进入下一页。表单提交或将用户发送到下一页/付款页时从未出现问题。每次在注册页上更改JS变量时,选中或取消选中复选框时,都会触发localStorage写入。LS写入是同一函数的一部分。