You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Domotica脚本中的Buienradar API每小时自动刷新?

解决Buienradar雷达图无法定时刷新的问题

嘿,我看了你的代码,问题出在浏览器缓存上!你每次请求的都是同一个URL,浏览器会把第一次加载的图片存起来,之后再请求相同地址时直接用缓存的旧图,根本不会去服务器拿新数据。

给你几个简单的修改点,就能搞定这个问题:

  • 给图片URL加一个动态时间戳参数,让每次请求的地址都不一样,这样浏览器就会认为是新资源,重新发起请求。
  • 删掉冗余的代码(那个var html的部分完全没用到,留着占地方)。
  • 把设置图片src的逻辑封装成函数,代码更整洁,也方便复用。

修改后的完整代码如下:

<div class="col col-md-3 col-sm-6 col-xs-12">
  <div class="box box-primary">
    <div class="box-header with-border">
      <h3 class="box-title">Buienradar</h3>
    </div><!-- /.box-header -->
    <div class="medium-box-body">
      <img id="radarupdate" />
    </div>
  </div>
</div>
<script>
$(function() { 
  Domotica.dashboard.init(); 
});

// 封装设置雷达图src的函数
function updateRadarImage() {
  // 生成当前时间戳,确保每次URL都唯一
  const timestamp = new Date().getTime();
  const radarUrl = `http://api.buienradar.nl/image/1.0/RadarMapNL?w=256&h=256&t=${timestamp}`;
  $('#radarupdate').attr("src", radarUrl);
}

$(document).ready(function() {
  // 页面加载时先初始化一次
  updateRadarImage();
  // 3600000毫秒 = 1小时,按需求定时刷新
  setInterval(updateRadarImage, 3600000);
});
</script>

额外提醒一下:你原来的setInterval是900000毫秒(15分钟),如果确实要每小时刷新,记得改成3600000毫秒哦~

内容的提问来源于stack exchange,提问作者Jeroen_

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:25:17