我有一大块代码导致监视图形的图形定期更新并显示为覆盆子pi,但我遇到的问题是由于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"/>
答案 0 :(得分: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
}