繁体   English   中英

全局变量未在函数外部分配。

[英]Global Variable is not being assigned outside function.

我正在尝试使用Javascript设置全局变量。 我知道范围是正确的,并且只要不关闭页面就可以保留该值。 即使刷新,它也应保持其价值。 它不是。

    <!DOCTYPE html>
    <html>
    <head>


    <script type="text/javascript">
    noproductfound=0;
    noamount=0;
    nodept=0;


    function loadpage(){
        statusset="";
                    if(noproductfound==1){
                        alert('NO PRODUCT FOUND IN DATABASE. ENTER AMOUNT AND DEPARTMENT.');

                    }
                    else if(noamount==1){
                        alert('NO AMOUNT ENTERED. PLEASE ENTER AMOUNT AND DEPARTMENT');
                        //document.getElementById('current_amount').focus();
                    }
                    else if(nodept==1){
                        alert('NO DEPARTMENT ENTERED. PLEASE ENTER');

                    }
                    else if(statusset==1) {
                        alert('Global statusset is set');
                    }

                    else{
                    alert('NO GLOBALS HAVE BEEN SET');
                    }
    }

    function checkthis(){
        window.statusset=1;
        location.reload();
    }

    </script>
        <title>Testing</title>
    </head>
    <body onload="loadpage()">
    <button  onclick="checkthis()" type="submit">Set GLOBAL Status</button>

    </body>
    </html>

卸载窗口后,所有的JavaScript变量都会丢失,假设您从第1页移至第2页。

在location.reload()情况下也是如此;

MDN Doc表示:

Location.reload()方法从当前URL重新加载资源。 它的可选唯一参数是布尔值,当它为true时,它将导致始终从服务器重新加载页面。 如果为false或未指定,浏览器可能会从其缓存中重新加载页面。

如果仍然从缓存加载,它将再次加载DOM(丢失窗口)。

PS:-在任何情况下,DOM都会重新生成。

乔纳森·洛诺夫斯基(Jonathan Lonowski)指导我正确使用cookie。 我现在一切正常。 我也在网上找到了该资源: http : //www.perlscriptsjavascripts.com/js/cookies.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM