javascript - 屏幕刷新 jquery 适用于 PC 而不是服务器

标签 javascript jquery linux cookies

我有以下 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/

相关文章:

javascript - 函数调用javascript

javascript - 需要有关 jQuery 单击功能的帮助

linux - Debian 8.1 中 Dropbox 安装文件的默认位置?

c - 用于创建具有插入、删除和搜索功能的查找表的源代码片段

javascript - 如何通过 Javascript 消除多余的、重复的 HTML 标签?

javascript - 如何将文本作为列表项以交互方式附加到 HTML 文档中的列表而不将列表项存储为 javascript 变量?

javascript - 如何在 twig 循环内打印 JS 函数的结果

javascript - 如何使用单选按钮更改下拉值

php - 解决 PHP 中缺少 "Authorization"请求 header 的问题

linux - rsync 和 --link-dest 的磁盘使用问题