我有以下 jquery 脚本,它只允许用户选择一个复选框来打开和关闭浏览器刷新 - 并指定以秒为单位的刷新持续时间。我将详细信息保存在 cookie 中。
我一直在想为什么它可以在我的电脑上运行,而不是在 Linux centOS 服务器上运行。
我遗漏了一些明显的东西,但找不到解决方案 - 谁能看出我做错了什么?
function saveValue(){
Cookies.set("refreshScreen", $('#refreshScreen').is(':checked'));
Cookies.set("seconds", $('#seconds').val() ? $('#seconds').val() : 0);
setReload();
}
$(document).ready(function (){
setReload();
});
function setReload(){
val = Cookies.get("refreshScreen")
if(val=='true')
chk = true;
else
chk = false;
seconds = Number (Cookies.get("seconds") ? Cookies.get("seconds") : 30 );
$('#refreshScreen').attr('checked',chk);
$('#seconds').val(seconds);
if(chk){
setTimeout(function () { location.reload(1); } , seconds*1000);
}
}
</script>
最佳答案
将您的变量声明为局部变量。问题是您有一个带有 id="seconds"
的元素,它被用作全局变量 seconds
的值。
function setReload(){
var val = Cookies.get("refreshScreen") == 'true'
var seconds = Number (Cookies.get("seconds") ? Cookies.get("seconds") : 30 );
$('#refreshScreen').attr('checked',chk);
$('#seconds').val(seconds);
if(chk){
setTimeout(function () { location.reload(1); } , seconds*1000);
}
}
关于javascript - 屏幕刷新 jquery 适用于 PC 而不是服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31262869/