我有一个独立的Raspberry Pi,它显示了另一台服务器上的网页。
它会在30分钟后通过网页上的JavaScript重新加载。
在某些情况下,服务器在很短的时间内无法访问,Chromium会显示通常的This webpage is not available
消息,并停止重新加载(因为该页面中没有JavaScript会触发重新加载)。
在这种情况下,几秒钟后仍如何重新加载网页?
现在我有了一个想法,可以通过AJAX来获取网站结果,并在可用的情况下将其替换在当前页面中。
您可以使用javascript对服务器执行ping操作,而不是每隔几分钟刷新一次网页(pingjs是一个可以执行此操作的不错的库)
现在,如果ping成功,请重新加载页面。如果不成功,请再等待30秒钟,然后再次ping通。连续执行此操作,基本上会让您等到服务器再次打开(即可以ping通)
与制作自己的Java浏览器和制作浏览器插件相比,我认为这是一种简单得多的方法。
额外信息:您应该使用指数函数或超时检查以避免不必要的处理开销。即第一次发现ping失败,等待30秒,第二次等待30 *(2 ^ 1)秒,第三次等待30 *(2 ^ 2),依此类推,直到达到最大值。
注意-这是假设您的服务器确实无法访问...而不仅仅是html页面不可用(有很小的差别,但可观)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句