我有一台(大部分)无人管理的计算机,它被卡在某个不容易到达的地方,只有一个用途:在连接到该计算机视频卡的大屏幕上显示特定网页。这是通过在全屏模式下在裸机 X11 上运行 Firefox 来实现的。
现在,页面本身有一个脚本,每隔 X 分钟重新加载一次;但是,如果网络/Web 服务器中断(这种情况经常发生,目前无法避免),浏览器会刷新页面并停留在“未找到地址”页面上。一旦到达那里,只有一种方法可以恢复:手动重新加载网页。
问题:是否可以修改 Firefox 的设置,使其在卡在“未找到地址”错误页面时每 X 分钟自动尝试重新加载目标页面?谢谢。
答案1
您可以采取的一种方法是将 Firefox 指向框架集而不是直接指向您的页面,然后在父级中添加一些 javascript 来重新加载框架。由于父页面不会重新加载,因此当连接丢失时它不会卡住并继续尝试重新加载目标页面。
另一种可能性是为 Firefox 编写一个插件。错误Zilla扩展替换了标准错误页面,它位于 MPL 之下,因此您可以查看代码并更改页面以执行您想要的操作。
答案2
当您说“在全屏模式下在裸 X11 上运行 Firefox”时,我立即假设您正在此系统上本地运行 *nix。
在这种假设下,还有另一种选择:在本地安装 Apache 并简单配置它以将“localhost”上的 Web 服务器代理到您需要的单个页面。
当网络中断或出现其他类型的错误时,您可以简单地更改此 Apache 的本地 404、500 等错误页面。
这些“错误页面”可以有不同的重试期限。具体取决于错误的类型。
非常简单,无需额外编程/插件。所有 OOTB 软件。
答案3
除了 robertc 建议的框架集选项之外,您还可以通过客户端 javascript 发出的 HTTP 请求使页面刷新大部分或部分内容。
这意味着页面永远不会出现错误显示(或空白,当浏览器无法访问页面时会等待超时),并且如果机器运行缓慢,这可以减少页面更新期间的屏幕闪烁(您可以记录最后的结果,如果信息没有改变则不更新任何内容),尽管与更简单的框架集选项相比,实现起来需要做更多的工作。
当然,如果您想要显示一个错误页面(而不是可能已经过时的“最后已知的良好”信息),您可以显示自己的消息,该消息的样式与通常显示的主题相匹配,或者只是在通常的显示中添加一个警告,表明所显示的信息有一段时间没有更新了。
答案4
TabMixPlus 扩展程序在 rclick 菜单中添加了自动页面刷新计时器。只需在网页的空白部分上 rclick,然后选择“每次重新加载”下的设置即可。我实际上不确定如果遇到错误它会做什么,但如果它有效,这是一个简单的解决方案。