如果"不可用",请重新加载页面?

fec*_*ert 4 reload chromium raspberry-pi

我有一个独立的Raspberry Pi,它显示来自另一台服务器的网页.

它会在30分钟后通过网页上的JavaScript重新加载.

在某些情况下,服务器在很短的时间内无法访问,Chromium显示通常的This webpage is not available消息,并停止重新加载(因为页面中没有JavaScript触发重新加载).

在这种情况下,我怎样才能在几秒钟后重新加载网页?

现在我有想法通过AJAX获取网站结果,并在当前页面中替换它,如果它们可用.

Abd*_*iJK 5

而不是每隔几分钟刷新网页,你可以做的是使用javascript ping服务器(pingjs是一个很好的库,可以做到这一点)

现在,如果ping成功,请重新加载页面.如果不成功,请再等30秒再次ping它.连续这样做,基本上会让你等到服务器再次打开(即你可以ping它)

我认为与制作自己的java浏览器和制作浏览器插件相比,这是一种更简单的方法.


额外信息:您应该使用指数函数或超时检查来避免不必要的处理开销.即第一次发现ping失败,等待30秒,第二次等待30*(2 ^ 1)秒,第三次等待30*(2 ^ 2),依此类推,直到达到最大值.


注意 - 这假设您的服务器确实无法访问...而且不仅仅是html页面不可用(这里有一个很小但很明显的区别)