如何使用Javascript在页面刷新之前更改值?

时间:2016-11-03 19:12:55

标签: javascript jquery

我想在刷新页面之前更改变量值。

我的主要目标是每隔3秒将URL存储到数组中。 存储URL工作正常,但当页面刷新时,索引[ind]和数组[urllist]变为null。我想在刷新之前更改ind,urllist长度。请告诉我最终的解决方案。

   <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>

我尝试使用以下代码来刷新更改。但它在警告框中显示文本消息。我不想显示任何警告框。我想运行函数或更改值而不显示弹出窗口。

window.onunload = function (e) {
                var dialogText = '0';
                e.returnValue = dialogText;
                return dialogText;
            };

提前致谢。

1 个答案:

答案 0 :(得分:0)

在页面刷新时,重新加载DOM,删除您曾经拥有的任何可变数据。所以你需要在某处存储数据。如网络存储或数据库等。

看看这个 - http://www.w3schools.com/html/html5_webstorage.asp