【免费下载链接】inav-configurator项目地址https://gitcode.com/gh_mirrors/ina/inav-configurator点击查看免费下载INAV Configurator 是开源飞控软件 INAV 的桌面配置工具基于 Electron 开发。如果你想为它新增一个配置页签Tab本文会带你走通从页面文件、导航入口、动态加载注册到国际化文案的完整流程并给出关键代码示例。一、先看懂 INAV Configurator 的页签架构INAV Configurator 的每个功能页签都由三个部分协作完成理解这个架构是动手的前提组成部分文件位置职责导航入口index.html侧边栏li classtab_xxx列表切换分发js/configurator_main.js点击页签后动态import()对应 JS页面实现tabs/ 目录每个页签一对.html.js文件其中 js/gui.js 维护着defaultAllowedTabsWhenConnected连接飞控后可用页签和defaultAllowedTabsWhenDisconnected未连接时可用页签两个白名单TABS对象js/gui.js则是所有页签模块的注册中心。页签名称由导航条目的 class 去掉tab_前缀得到见 js/configurator_main.js 中的tabClass.substring(4)所以class 名必须和 JS 文件名、switch 分支三者严格一致。二、本地运行项目开发环境一键搭建先克隆仓库并启动开发环境改动后刷新窗口即可看到效果git clone https://gitcode.com/gh_mirrors/ina/inav-configurator cd inav-configurator yarn install npm start项目使用 Vite Electron Forge 构建见 package.json启动后即可看到如下启动画面三、新增页签五步法以mytab为例第 1 步创建页面文件tabs/mytab.html和tabs/mytab.js以简单页签 tabs/search.html 为参考HTML 负责界面骨架div classtab-mytab div classcontent_wrapper div classoptions-section gui_box grey div classgui_box_titlebar div classspacer_box_title>use strict; import { GUI, TABS } from ./../js/gui; import i18n from ./../js/localization; TABS.mytab {}; TABS.mytab.initialize function (callback) { if (GUI.active_tab ! mytab) { GUI.active_tab mytab; } import(./mytab.html?raw).then(({ default: html }) { GUI.load(html, function () { i18n.localize(); // 翻译>case mytab: import(./../tabs/mytab).then(() TABS.mytab.initialize(content_ready)); break;这里用动态import()实现懒加载——只有用户真正点击该页签时代码才会被下载执行保证主窗口启动速度。第 3 步在index.html添加导航条目打开 index.html找到#tabs区域。两个ul分别对应不同状态ul.mode-disconnected未连接飞控时可见如 landing、firmware_flasherul.mode-connected连接飞控后可见如 setup、pid_tuning按需求位置插入以连接后可见为例li classtab_mytab a href#>this.defaultAllowedTabsWhenConnected [ failsafe, // ... 其他页签 search, mytab // 新增 ];第 5 步补充国际化文案与样式国际化在 locale/en/messages.json 中按现有格式添加词条data-i18n属性会据此取值翻译tabMyTab: { message: My Tab }, mytabHello: { message: Hello from my new tab! }如需支持中文等其他语言可在 locale/ 下的zh_CN、ru等目录同步添加。样式新建src/css/tabs/mytab.css然后在 src/css/styles.css 的import列表中加一行import tabs/mytab.css;四、避坑指南4 个高频错误命名不一致tab_mytabclass、case mytab、文件名mytab.js、白名单mytab四处必须完全相同否则点击无反应或控制台出现Tab not found: mytab。忘记GUI.content_ready(callback)不调用该回调加载动画不会消失页签会一直显示空白转圈状态。cleanup中漏清资源页签切换时框架会调用当前页签的cleanupjs/gui.js轮询定时器interval、MSP 回调必须在这里释放否则后台资源泄漏。图标缺失classtabicon ic_xxx引用的是内置图标集新页签建议先复用现有图标如ic_config避免图标不显示。五、总结一张图回顾页签注册链路用户点击侧边栏 ↓ index.html li classtab_mytab ↓ configurator_main.js switch (tab) → 白名单校验gui.js ↓ import(./mytab.js) 懒加载 ↓ TABS.mytab.initialize → GUI.load(html) → i18n.localize() → GUI.content_ready掌握以上 5 个步骤你就可以在 INAV Configurator 中扩展任何自定义配置页签了。建议动手时先通读 tabs/search.js 和 tabs/search.html 这对最精简的官方示例它们是理解整个页签框架的最佳起点。赞分享【免费下载链接】inav-configurator项目地址https://gitcode.com/gh_mirrors/ina/inav-configurator点击查看免费下载相关推荐ZerolanLiveRobot开发者指南如何扩展一个新服务并注册自定义事件附完整实战示例ZerolanLiveRobot开发者指南如何扩展一个新服务并注册自定义事件附完整实战示例 如果你想在开源项目 ZerolanLiveRobot AI开发者指南如何为Damn Vulnerable Drone新增一个攻击场景YAML配置全解析开发者指南如何为Damn Vulnerable Drone新增一个攻击场景YAML配置全解析 Damn Vulnerable Drone 是一款基于 Ar终极指南如何用dadb库无需ADB直接连接Android设备终极指南如何用dadb库无需ADB直接连接Android设备 dadb是一个革命性的Kotlin/Java开源库它让开发者能够直接与Android设备通信开发工具移动开发上一篇WXT扩展框架终极指南如何用现代工具链快速开发浏览器扩展下一篇electron-vue 端到端测试完全指南基于 Spectron Mocha Chai 的 E2E 测试实战创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
JetBrains 开源的 AI 编程工作台,给每轮改动一张收据 JetBrains 开源的 AI 编程工作台,给每轮改动一张收据 【免费下载链接】thinkrail Vibe code with pi in a lightweight, real IDE that customises itself around the way you work — The Vibe You Need 项目地址: https://gitcode.com/GitHub_Trending/th/think… · 2026/11/15 5:48:38
作业--程序设计基础-ifswitch作业 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/15 12:56:15
LX Music 快速上手:如何用一个搜索框搜遍5大音源并搭建本地曲库 LX Music 快速上手:如何用一个搜索框搜遍5大音源并搭建本地曲库 【免费下载链接】lx-music-desktop 一个基于 Electron 的音乐软件 项目地址: https://gitcode.com/GitHub_Trending/lx/lx-music-desktop
LX Music 是一款基于 Electron 30 与 Vue 3 的开源音乐… · 2026/11/11 18:16:38
洋县低压电工证怎么报?官方报名入口全攻略,别再被中介坑了 洋县低压电工证怎么报?官方报名入口全攻略,别再被中介坑了 你是不是也遇到过这种情况?在找工作或者想提升技能的时候,听说了洋县低压电工证的重要性,但一打听报名,不是被各种中介忽悠,就是不知道该去哪里?这不,我当初也和你一样,跑了好几家地方,最… · 2026/11/15 20:43:48
特种作业操作证冷库怎么考?上岗必备的避坑指南来了 特种作业操作证冷库怎么考?上岗必备的避坑指南来了 怕考不过白交培训费?特种作业操作证冷库是很多冷库企业员工的“上岗必备”,但很多人因为不了解报考流程、考试内容、复审要求,结果花了钱还拿不到证,甚至考试挂科。今天咱们就从郑州项目现场管理员的角… · 2026/11/15 20:43:48
三级箱电工证怎么报名?南阳应届生必看的上岗指南 三级箱电工证怎么报名?南阳应届生必看的上岗指南 你是不是也像我一样,毕业之后到处找工作,但用人单位一开口就问“有没有三级箱电工证”?别急,今天我就用南阳卧龙区应届工程类毕业生的真实经历,带你一步步了解三级箱电工证怎么报名、怎么考、考完怎么用… · 2026/11/15 20:43:48
特级作业电工证怎么考 考过才能上岗 电子证书如何获取 特级作业电工证怎么考 考过才能上岗 电子证书如何获取 急需特种作业证才能上岗找工作,这话不假,尤其是在建筑、电力、制造业这些行业,没有电工证、焊工证、高处作业证,连门都进不去。尤其是特级作业电工证,它不仅关系到你的职业资格,更是很多企业招聘… · 2026/11/15 20:43:48
土木行业电工证有用吗良心建议:外省证怎么转?全攻略来了 土木行业电工证有用吗良心建议:外省证怎么转?全攻略来了 之前考的证在外省能不能转过来?这个问题,很多在工地打拼的朋友都问过。尤其是从一个省份换到另一个省份工作,证件能不能“跟着走”成了大家关心的头等大事。其实,根据郑州市应急管理局的最新规定… · 2026/11/15 20:43:48
沛县哪里学电工证好通过率揭秘 沛县哪里学电工证好通过率揭秘 学历不高怕报不上名,别担心,今天就给你说说沛县电工证培训哪家强,还有通过率的 真实内幕 ,让你不走弯路、不花冤枉钱。 为什么学历不高也能报电工证?… · 2026/11/15 20:42:48
长春初级电工证怎么考?通过率揭秘全在这里 长春初级电工证怎么考?通过率揭秘全在这里 之前考的证在外省能不能转过来?这几乎是每个想从事电工工作的人都会问的问题。特别是那些在外地打拼多年、手里握着一张“外地电工证”的人,到了长春想继续干这一行,第一反应就是“我的证能用吗?”。今天我们就… · 2026/11/15 0:00:50
国内电工证报考条件与考试时间 低压电工证怎么考?学历不高也能报名,官方报名入口全在这 你是不是经常听说“电工证是入行门槛”,但又担心自己学历不够、经验不足,根本报不了名?别急,今天就带你从零了解【国内电工证】的报考流程、考试内容,还有怎么在 官方报名入口… · 2026/11/15 0:00:50
电工作业时如何断电?电子证书到底能不能全国通用? 电工作业时如何断电?电子证书到底能不能全国通用? 实操考试心里没底怕挂科,特别是电工作业时如何断电这一操作,不仅关系到你能不能拿到证书,更关系到以后能不能顺利上岗。很多人觉得这不过就是“断个电”,但其实这里面的门道可不少,稍有不慎就可能出错… · 2026/11/15 0:00:50
长春初级电工证怎么考?通过率揭秘全在这里 长春初级电工证怎么考?通过率揭秘全在这里 之前考的证在外省能不能转过来?这几乎是每个想从事电工工作的人都会问的问题。特别是那些在外地打拼多年、手里握着一张“外地电工证”的人,到了长春想继续干这一行,第一反应就是“我的证能用吗?”。今天我们就… · 2026/11/15 0:00:50
国内电工证报考条件与考试时间 低压电工证怎么考?学历不高也能报名,官方报名入口全在这 你是不是经常听说“电工证是入行门槛”,但又担心自己学历不够、经验不足,根本报不了名?别急,今天就带你从零了解【国内电工证】的报考流程、考试内容,还有怎么在 官方报名入口… · 2026/11/15 0:00:50
电工作业时如何断电?电子证书到底能不能全国通用? 电工作业时如何断电?电子证书到底能不能全国通用? 实操考试心里没底怕挂科,特别是电工作业时如何断电这一操作,不仅关系到你能不能拿到证书,更关系到以后能不能顺利上岗。很多人觉得这不过就是“断个电”,但其实这里面的门道可不少,稍有不慎就可能出错… · 2026/11/15 0:00:50
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/15 1:51:20
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/15 4:02:19
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/15 3:02:05