0

我有一段代码会导致一个图表定期更新,并用树莓派显示,但我遇到的问题是由于 Pi 的内存有限,Chromium 因内存不足而死亡。我认为这是因为当图像更新时,它会将旧图像保存在某个地方。我尝试使用 JS 删除图像并使用更新的图像创建一个新图像,但它没有用。我对 Javascript 不太熟悉,所以我不确定我是不是犯了新手错误或其他什么。这是代码:

<script type= "text/javascript">
var graph = "http://www.example.com";
function preload() 
{
    try
    {
        var buffer = new Image();
        buffer.src = graph;
        buffer.onload = function() 
        {
            while (1)
            {
                setTimeout(preload, 1000);
                document.getElementById('graph').src = buffer.src;
            }
        }
    }

    catch(err)
    {
        txt = "Error\n" + err.message;
        alert(txt);
    }
}   
preload()
</script> 

图像的 HTML 是:

<img src= "http://www.example.com" id=graph width=1015 
    height=275 frameborder="0" onload="preload()" style="display: block; 
    margin-left: auto; margin-right: auto;" align="bottom"/>
4

1 回答 1

0

这是一个大大简化的脚本 - 你的循环根本没有意义,你的代码中没有 Ajax

var graph = "https://zabbix.tulsahpc.org/signage/sign.png",tId;
window.onload=function() {
  tId=setInterval(function() {
    document.getElementById('graph').src = graph+new Date().getTime();// avoid cache
  },10000);// reload every 10 secs
}
于 2013-08-27T15:12:31.407 回答