【问题标题】:Need a counter to update daily需要一个计数器来每天更新
【发布时间】:2014-05-26 20:04:09
【问题描述】:

我正在寻找一个可以每天更新一个数字的快速脚本。这是在工作场所没有发生事故的天数。

我希望它在 XP 的启动组中放置一个指向它的 HTML 页面的链接(是的 XP,公司有点落后)并让它在启动时运行。稍后我可能会添加更多内容,但这是主要目的。

因此,每天它需要根据前几天的数字将数字更新 1,因此很可能必须将其读取并写入文件。如果浏览器关闭或系统重新启动,它不应该更新浏览器,除非它是不同的日子。

谁能指出我这样做的好方法。我在想javascript,但我很开放。我无权访问数据库。

谢谢

【问题讨论】:

  • 这个问题对于 Stack Overflow 来说太宽泛了。
  • 如果您需要读写文件,浏览器中的 JavaScript 可能不是一个好的选择。不过,JavaScript 可以用作基于浏览器的客户端技术来向服务器发送请求。然后服务器端技术可以持久化这些数据。如果很多人将同时执行此操作(当他们早上都打开计算机时),那么预计会有并发请求。数据库擅长处理这些,手动写入文件不是很多。
  • 它将在带有专用计算机的电视上,因此不会进行多次更新,只有管理员才能访问计算机和文件夹。

标签: javascript counter


【解决方案1】:

这个脚本应该可以解决问题

HTML

<div id="counter">1</div>
<button id="reset">Reset</button>

JS

setInterval(function(){
    var value = parseInt(document.getElementById('counter').innerHTML);
    document.getElementById('counter').innerHTML = (value+1).toString();
},86400000); //86400000 = 1 day in milliseconds

var btn = document.getElementById('reset');
btn.onclick=function(){
    document.getElementById('counter').innerHTML = "0";
};

http://jsfiddle.net/khe67/3/

【讨论】:

  • 谢谢,我会看看这个。我还刚刚发现您可以在 MS Excel 中设置每日计数器。如果我可以将该号码移植到 Powerpoint,这可能更容易做到,并且经理也可以在需要时添加幻灯片。任何人都看到这样做了。
【解决方案2】:

您可能想使用HTML5 将变量保存在web browser 中,所以如果您碰巧重新加载或重新启动计算机,您仍然可以保存变量。代码可能如下所示:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Hello HTML5</title>
<script>
window.onload = function (){
    if(typeof(Storage)!=="undefined"){
        var goodDays;
        var oldTime = localStorage.getItem("oldTime"); 
        var timestamp = new Date().getTime();
        if(!oldTime || oldTime==""){
            goodDays = 1;
            localStorage.setItem("oldTime", timestamp);
            localStorage.setItem("dayCounter", goodDays);
        }else{
            var timeCheck = oldTime + (24 * 60 * 60 * 1000);
            goodDays = localStorage.getItem("dayCounter");
            if(timestamp > timeCheck){
                goodDays++;
                localStorage.setItem("oldTime", timestamp);
                localStorage.setItem("dayCounter", goodDays);
            }
        }
        document.getElementById("dCounter").innerHTML=goodDays; 
    }else{
        alert("geat a real browser");
    }
}

function resetDays(){
    localStorage.setItem("oldTime", "");
    localStorage.setItem("dayCounter", "");
    location.reload();
}
</script>
</head>
<body>
<div style="display:inline">DAYS WITH OUT INCENDENTS </div><div style="display:inline" id="dCounter"></div>
<div style="cursor:pointer" onclick="resetDays()">Reset</div>
</body>
</html>

【讨论】:

    猜你喜欢
    • 2011-03-27
    • 2016-08-25
    • 2014-03-05
    • 1970-01-01
    • 1970-01-01
    • 2019-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多