【问题标题】:Update variable information in the openwrt web interface luci更新openwrt web界面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 界面中查看信息。我会很感激你的帮助。

【问题讨论】:

    标签: lua openwrt


    【解决方案1】:

    这是必须在前端(HTML、JS、PHP)实现的东西,而不是在 Lua 后端。我不知道这些天孩子们是怎么做的,但据我所知,您需要使用 JavaScript 每隔几秒钟刷新一次 HTML 文档的该部分,如您所愿。

    它的工作方式是这样的:

    1. 从 Chrome/Firefox/Opera/Edge 请求网页;
    2. Web 服务器打开请求的文件,如果文件是脚本,则运行脚本;
    3. 脚本从系统、数据库等中检索数据;

      3.1 Lua 脚本运行,返回值(RSSI,为你);

      3.2 脚本用Lua脚本返回的值替换变量;

      3.3 脚本返回 HTML 代码,其中变量已被数据库、系统等中的值替换;

    4. Web 服务器通过网络发送数据;

    5. 客户端网络浏览器显示数据,通常是由 CSS 格式化的 HTML 文档,具有 JavaScript 交互性和自动活动。

    在你的情况下,你会想要这个:

    1. 客户端浏览器中的 JavaScript 会刷新文档的一部分,基本上是通过步骤 1-5,但只替换正在显示的部分内容(HTML 元素)。

    【讨论】:

      猜你喜欢
      • 2017-03-26
      • 2017-09-20
      • 2015-01-15
      • 2021-06-21
      • 2014-04-30
      • 2017-10-01
      • 1970-01-01
      • 2017-01-07
      • 2022-01-11
      相关资源
      最近更新 更多