javascript - 如何在没有服务器端脚本访问的情况下实时更新网页?

标签 javascript html web

我有一个现成的嵌入式以太网模块,用于监视外部电子系统。该以太网模块包括非常有限的网络服务器。此 Web 服务器不支持任何类型的标准脚本语言。要读取正在监视的系统的状态,我可以将非常具体的命令嵌入到 HTML 文件的注释中。当文件被提供时,服务器知道用请求的数据替换这些注释。这样我就可以通过浏览器查看系统的状态。

我的问题是这样的:服务器仅在提供 HTML 页面时才提供更新的数据。没有办法进行异步请求。这使得实时数据基本上不可能实现;要获取有关系统状态的更新信息,我必须刷新整个页面。这是缓慢、低效且丑陋的。我想找到一种方法来实时更新我的​​状态页面。

我怀疑这需要我使用 Javascript 异步请求包含所有有趣数据的第二个 HTML 页面,然后解析该文件并使用数据更新主页,所有这些都不需要实际刷新我正在查看的页面。我不知道该怎么做,或者是否可能。这可以做到吗?如果是这样,怎么办?

最佳答案

可以使用 XMLHttpRequest 来完成,只要两个 HTML 文件存储在同一位置(以避免 CORS 限制)。

看看this MDN article有关如何使用 XMLHttpRequest 的示例。

高级 View 是:

// live webpage
var xhr = new XMLHttpRequest();
xhr.onload = function () { /* parse xhr.repsonseText */ };
xhr.onerror = function () { /* ... */ };

xhr.open('get', 'server-updated-page.html', true);
xhr.send();

关于javascript - 如何在没有服务器端脚本访问的情况下实时更新网页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18466652/

相关文章:

javascript - 替代包含元素之间空格的 jQuery text()?

javascript - 我们如何使用 OPENUI5/SAPUI5 消费 JSON 数据?

html - CSS Layout : One side scrolls, 另一边设置高度

javascript - 通过 Javascript 为本地应用程序保存文件

javascript - Kendo UI 网格服务器端分组(无 MVC)

javascript - Chart.js,您可以覆盖图例标签框颜色吗?

javascript - iphone webview 和 iframe 问题

加载 src 时,Javascript Image() 缺少 `Origin` header

html - 我在制作按钮时遇到问题

javascript - 单击 JavaScript 中特定类的所有元素?