我的代码中有功能,如果按下按钮,则假设逐渐将页面刷新从50秒减少到10秒。这是:
<div id="signin" onclick="pgeReload()"></div>
....
<script type="text/javascript">
var count=0;
function pgeReload(){
if(count <= 4){
count++;
}
var times = count*10000;
var pospond = 50000-count;
setTimeout(function(){window.location.reload()}, pospond);
}
</script>
我的问题是页面的重新加载总是在50秒后发生,因为(如果我得到了正确的话)变量count
总是在页面重新加载时被重新赋值为0。
我的问题是,即使在刷新页面后,我还可以保留计数值吗?
非常感谢所有能帮助我的人。
带有html5的版本。但问题仍然是初始值。计数始终为0
<script type="text/javascript">
var count=0;
function pagereload(){
if(typeof(Storage)!=="undefined")
{
count++;
window.content.localStorage[key]=count;
var tempTime = parseInt(window.content.localStorage[key])*1000;
var pospond = 50000-tempTime;
setTimeout(function(){window.location.reload()}, pospond);
}
else{
setTimeout(function(){window.location.reload()}, 30000);
}
</script>
答案 0 :(得分:3)
您可以使用HTML5的localstorage。
window.content.localStorage[key]=value; //Saving
window.content.localStorage[key]; //Accessing
delete window.content.localStorage[key]; //Delete
其中KEY =您要存储的变量的名称,VALUE是您要保存的字符串值。这仅支持保存字符串,但如果您需要保存对象,则可以使用JSON“对字符串化”对象。
所以你可以这样做:
<script type="text/javascript">
function pagereload(){
if(typeof(Storage)!=="undefined")
{
var count=(window.content.localStorage[key])? parseInt(window.content.localStorage[key]): 0;
count++;
window.content.localStorage[key] = count;
var tempTime = count*1000;
var pospond = 50000-tempTime;
setTimeout(function(){window.location.reload()}, pospond);
}
else{
setTimeout(function(){window.location.reload()}, 30000);
}
</script>
答案 1 :(得分:1)
你最好看一下浏览器cookie。
答案 2 :(得分:1)
您可以使用Cookie或本地存储将数据持久存储在浏览器中。
然后,在同一域的未来页面中,您可以使用javascript来检索先前的值。如果不使用这样的技术在本地存储数据,浏览器页面的每次重新加载都会重新开始。
您的另一个选择是代表当前用户将数据存储在服务器上。在客户端更改值时,您将对服务器进行ajax调用,以便将新值存储在服务器上。然后,您可以在将来的页面中使用ajax从服务器检索值,或者服务器可以在每次请求时将当前值放入页面。您需要一些识别当前用户的方法(通常是用户登录),以便服务器可以检索正确的用户数据。
答案 3 :(得分:1)
使用localstore是个好主意,但是如果你正在寻找简单的东西,你可以在重新加载页面时将计数放在查询字符串中,例如:
window.location.href = url + '?count=' + count
您可以根据变量检查计数或是否为初始加载:
window.location.search
例如,如果您使用?count=3
重新加载页面,则此变量的值将为?count=3
。您也可以将计数本身放在查询字符串中以简化解析,如下所示:
window.location.href = url + '?' + count