路由器Web页面开发中基于cgi形式,

一个页面对应一个c语言文件,如

network-lan.c -> lan_setup.cgi

wan.c -> wan.cgi

以network-lan.c 为例,该文件包括 main函数,Web页面生成,参数保存和读取的方法。

Web页面采用了HTML+Javascript+CSS和其他资源文件构成。

其中html文本主要是通过函数打印输出的方式实现,将html的各个元素视为可重用的关键词或语句,在输出函数为HTML的不同元素提供不同的显示方式。

例如:

{DIV_BEGIN, NULL, "class="setting">

{MISC_END, "div", NULL, NULL, NULL, NULL, NULL},

{RAWINPUT,"hostname",hostname,"text",NULL,NULL,"maxlength=‘32‘ οnblur=‘letter_digit_word_host(this, lan.hostname)‘"},

{RAWTXT,NULL,NULL,NULL,NULL,"*",NULL},

{RAWMSG, "share.maxlen32", NULL, NULL, NULL, "setting", NULL},

{MISC_END, "div", NULL, NULL, NULL, NULL, NULL},

Javascript使用两种实现方式:

1 通过在C语言函数中直接输出打印,相当于在HTML页面写js函数内容

2 调用js文件方式,将函数写在js文件中。

CSS样式则主要调用css文件的方式。

Web页面基本架构

在每个页面函数main()中,以下三个函数对HTML的文本内容进行分割,中间dispaly_form()函数在不同功能呈现不同,最终输出了一个完整的HTML代码文本

page_header(&header); //html header>menu

display_form(&form_property, &field_set, &footer_btns, &helps); //function display

page_end(); //end

页面交互逻辑

以配置更改为例

首次加载页面->读取配置->用户Web提交合法更改->获取更改的值并写入配置->刷新页面->页面读取配置并显示

页面调试方法

浏览器静态调试:浏览器访问Web页面按F12进入调试模式,可以直接查看HTML源码,并对HTML代码,CSS样式进行实时修改,从而快速尝试自己想要静态效果。

代码更新调试:在对应页面源码文件做更改后,执行make yourpath 部分编译,编译完成后,复制 .../webcgi/www/目录下对应的cgi网页文件等,传到路由器"/tmp/www/"对应路径下,实时生效,可观察页面或自定义的日志打印输出。

php开发路由器界面,路由器Web页面交互Tips(示例代码)相关推荐

  1. 5.PHP与Web页面交互

    PHP与Web页面交互 PHP中提供了两种与Web页面交互的方法,一种是通过Web表单提交数据,另一种是通过URL参数传递. 表单提交用户名字和密码: <form name "form ...

  2. 简述php和web交互过程,PHP与Web页面交互操作实例分析

    PHP与Web页面交互操作实例分析,表单,数组,参数,字符串,属性 PHP与Web页面交互操作实例分析 易采站长站,站长之家为您整理了PHP与Web页面交互操作实例分析的相关内容. 本文实例讲述了PH ...

  3. 记Outlook插件与Web页面交互的各种坑 (含c# HttpWebRequest 连接https 的完美解决方法)

    记Outlook插件与Web页面交互的各种坑 (含c# HttpWebRequest 连接https 的完美解决方法) 参考文章: (1)记Outlook插件与Web页面交互的各种坑 (含c# Htt ...

  4. Android开发-UI界面--类微信页面设计

    Android开发-UI界面–类微信页面设计 一.功能说明 设计一个类似微信的主页面框架,UI布局为上中下结构,包含了四个tag页面 二.开发技术 ​ 本次用到了layout.xml.控件.监听.fr ...

  5. [导入]Asp.net 2.0 自定义控件开发[创建自定义浮动菜单FloadMenu控件][示例代码下载]...

    Asp.net 2.0 自定义控件开发[创建自定义浮动菜单FloadMenu控件][示例代码下载] 文章来源:http://blog.csdn.net/chengking/archive/2007/0 ...

  6. 实现类似路由器那样通过WEB页面配置设备

    实现通过web来与其他进程交互 要像路由器那样,通过访问一个网页就能配置设备,实质上是web服务器与其他进程的通信问题.关键在于,我们的web服务器收到浏览器的请求时能够通知另外一个进程来处理.通常配 ...

  7. 华为路由器AR1220E-S通过web页面不能登录

    问题原因:由于在WEB页面配置了"远程信任主机",但是信任主机和路由器不在一个网段,导致所有IP都不能通过WEB页面管理路由器 解决方案:通过console口直接连接路由器,删除信 ...

  8. 微信开发之移动手机WEB页面(HTML5)Javascript实现一键拨号及短信发送功能

    在做一个微信的微网站中的一个便民服务电话功能的应用,用到移动web页面中列出的电话号码,点击需要实现调用通讯录,网页一键拨号的拨打电话功能. 如果需要在移动浏览器中实现拨打电话,发送email,美国服 ...

  9. 微信开发之移动手机WEB页面(HTML5)Javascript实现一键拨号及短信发送

    在做一个微信的微网站中的一个 便民服务电话功能的应用 ,用到 移动web页面 中列出的 电话号码 ,点击需要实现调用通讯录, 网页一键拨号的拨打电话功能 . 如果需要在移动浏览器中实现拨打电话,发送e ...

最新文章

  1. 【Ubuntu】解决问题:tcp :8080: bind: address already in use
  2. 一个古老而优雅的电子线路
  3. BZOJ 3907: 网格( 组合数 + 高精度 )
  4. 从零开始学python人工智能课程_从零开始如何学习人工智能?
  5. 使用JS提交form表单和w3c标准
  6. Hi3515主板UBoot参数备份
  7. 计算机毕业设计asp.net学院网站系统VS开发sqlserver数据库web结构c#编程计算机网页源码项目
  8. idea:java注释模板配置
  9. n1盒子救砖_斐讯N1盒子刷机救砖教程
  10. 探索者易打软件--实现AutoCAD批量打印和自动命名
  11. ubuntu固定内网ip_Ubuntu 设置固定ip地址
  12. 如何用美剧真正提升你的英语水平(转载)
  13. 程序员生涯困惑时的自我解脱
  14. ios 字体 机打动效_24种打动朋友的方法
  15. MySQL的安全解决方案
  16. 四个月的写作之路No.22
  17. Java募捐_GitHub - javayhu/XingShan: 使徒行善,让行善成为一种习惯
  18. C语言学生信息管理系统
  19. 【Azure Data Platform】Azure SQLDW与ADLS的整合
  20. 51CTO下载被黑掉了!!!!

热门文章

  1. Java小白入门200例59之用Calendar实现日历的打印
  2. matlab为什么要升维数,基于MATLAB和升维投影法的手写字符识别输入系统
  3. 推荐一个基于 Python + Vue 的海报生成器
  4. 耐世特中国产量里程碑:第200万件齿条式电动助力转向系统下线
  5. 入局鲜花市场生鲜电商要做搅局者?
  6. VsCode使用Ctrl+S保存代码自动格式化Html/Css/JS
  7. 7.完善BootLoader功能
  8. PMI-ACP练习题(20)
  9. c++解鸡兔同笼(2)
  10. vue 打包后找不到路径