更新openwrt web界面luci中的变量信息
Posted
技术标签:
【中文标题】更新openwrt web界面luci中的变量信息【英文标题】:Update variable information in the openwrt web interface luci 【发布时间】:2020-03-16 22:39:02 【问题描述】:从图中我们看到RSSI
的值,在lua
和sh上有一个代码显示这个值,脚本sh写一个值到文件,在lua
我们写到一个变量从文件中提取并将其分配给标签元素
os.execute('/bin/rssi')
file = io.open("/tmp/rssi", "r");
d:option(DummyValue, "label", "rssi: "..(file:read("*line")));
file:close();
一切正常,但我想每隔 N 秒在 Web 界面中查看信息。我会很感激你的帮助。
【问题讨论】:
【参考方案1】:这是必须在前端(html、JS、php)实现的东西,而不是在 Lua 后端。我不知道这些天孩子们是怎么做的,但据我所知,您需要使用 javascript 每隔几秒钟刷新一次 HTML 文档的该部分,如您所愿。
它的工作方式是这样的:
-
从 Chrome/Firefox/Opera/Edge 请求网页;
Web 服务器打开请求的文件,如果文件是脚本,则运行脚本;
脚本从系统、数据库等中检索数据;
3.1 Lua 脚本运行,返回值(RSSI,为你);
3.2 脚本用Lua脚本返回的值替换变量;
3.3 脚本返回 HTML 代码,其中变量已被数据库、系统等中的值替换;
Web 服务器通过网络发送数据;
客户端网络浏览器显示数据,通常是由 CSS 格式化的 HTML 文档,具有 JavaScript 交互性和自动活动。在你的情况下,你会想要这个:
-
客户端浏览器中的 JavaScript 会刷新文档的一部分,基本上是通过步骤 1-5,但只替换正在显示的部分内容(HTML 元素)。
【讨论】:
以上是关于更新openwrt web界面luci中的变量信息的主要内容,如果未能解决你的问题,请参考以下文章