【发布时间】:2016-11-04 03:17:21
【问题描述】:
我想在刷新页面之前更改变量值。
我的主要目标是每 3 秒将 URL 存储到数组中。 存储 URL 工作正常,但是当页面刷新时 index[ind] 和 array[urllist] 变为空。我想在刷新前更改 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;
};
提前致谢。
【问题讨论】:
-
请记住,刷新页面会重置 DOM 的状态。因此,您需要将信息保存在客户端或服务器端,然后再刷新并在完成后检索信息。你可能想看看 localStorage 选项
-
您需要持久化数据,以便它可以在单个页面请求之后继续存在。网络存储可以在这里为您提供帮助。
标签: javascript jquery