簡體   English   中英

使用JavaScript或Jquery在瀏覽器中存儲本地值的最佳方法是什么?

[英]what is the best way to store local values in browser using Javascript or Jquery?

我在數組中存儲局部變量。 但是,當我嘗試刷新頁面時,數組變空。 我也想在頁面引用后使用以前的值。

我正在嘗試使用Javascript中的“上一個/下一個”功能。 它工作正常。但是當我嘗試重新加載頁面時,數組中的值將被刪除。

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <script>
        var urllist = [];
        var ind = 0;
        var myVar;
        myVar = setInterval(Geturlfun, 3000);
        function Geturlfun() {
            var pageURL = window.location.href;
            if (urllist[ind - 1] == pageURL) {

            } else {
                urllist[ind] = pageURL;
                ind = ind + 1;
                alert(pageURL);
            }
        }
        function goBkHist(a) {
            var l_ref = ind - 2;
            if (l_ref != 0) {
                var pageURL2 = urllist[l_ref];
                ind = l_ref + 1;
                alert(pageURL2);
                loadUrl(pageURL2);
            }
        }
        function goFdHist(a) {
            var l_ref_2 = ind;
            var pageURL2 = urllist[l_ref_2];
            ind = l_ref_2 + 1;
            alert(pageURL2);
            loadUrl(pageURL2);
        }
        function loadUrl(newLocation) {
            window.location = newLocation;
            location.reload();
            return true;
        }
    </script>
</head>
<body>
    <input type="button" value="BACK " onclick="goBkHist(-1)" />
    <input type="button" value="FORWARD" onclick="goFdHist(1)" />
</body>
</html>

在此代碼中,如果我單擊“上一步”或“前進”,則顯示的URL,但是當我嘗試加載該URL時,它將重新加載頁面,並刪除數組中的值。

我該如何處理這些問題。

有沒有其他方法可以使用會話和cookie之類的其他方法來處理這種類型的存儲。

您可以使用LocalStorage API在客戶端保留數據。 如果必須支持古老的瀏覽器,則可以編寫一個簡單的備用cookie。 請注意,LocalStorage有一些大小限制,如果我沒有記錯的話,每個域大約有10MB。

此處檢查文檔。

您可以簡單地使用localStorage.getItemlocalStorage.setItem函數。

您可以使用localStoragesessionStorage

localStorage.setItem("DataValue", "Your Value");

並通過檢索

localStorage.getItem("DataValue")

通過sessionStorage其喜歡

sessionStorage.DataValue = "Your Value"

並通過檢索

var Data = sessionStorage.DataValue

所有這些都是客戶端功能。 sessionStorage與瀏覽器的單個選項卡綁定,因為localStorage在整個瀏覽器中都可用。

當您關閉該標簽時,存儲在sessionStorage中的值將被自動刪除。

如果您將值存儲在localStorage中,則除非您以編程方式將其刪除或刪除瀏覽器數據,否則不會自動刪除該值。

 <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
            <script>
                // Getting value from browser side.
                if (window.sessionStorage.getItem('url_list'))
                {
                    var urllist = $.parseJSON(window.sessionStorage.getItem('url_list'));
                }
                else
                {
                    var urllist = [];
                }
                var ind = 0;
                var myVar;
                myVar = setInterval(Geturlfun, 3000);
                function Geturlfun() {
                    var pageURL = window.location.href;
                    if (urllist[ind - 1] == pageURL)
                    {

                    }
                    else
                    {
                        urllist[ind] = pageURL;
                        ind = ind + 1;
                        alert(pageURL);
                    }
                    // Storing at browser side
                    window.sessionStorage.setItem('url_list', JSON.stringify(urllist))
                }
                function goBkHist(a) {
                    var l_ref = ind - 2;
                    if (l_ref != 0)
                    {
                        var pageURL2 = urllist[l_ref];
                        ind = l_ref + 1;
                        alert(pageURL2);
                        loadUrl(pageURL2);
                    }
                }
                function goFdHist(a) {
                    var l_ref_2 = ind;
                    var pageURL2 = urllist[l_ref_2];
                    ind = l_ref_2 + 1;
                    alert(pageURL2);
                    loadUrl(pageURL2);
                }
                function loadUrl(newLocation) {
                    window.location = newLocation;
                    location.reload();
                    return true;
                }
            </script>
        </head>
        <body>
            <input type="button" value="BACK " onclick="goBkHist(-1)" />
            <input type="button" value="FORWARD" onclick="goFdHist(1)" />
        </body>
    </html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM