
Penpot
开源设计平台,支持团队协作设计与代码、AI工作流。
Driver.js 是一个专注于前端引导体验的 JavaScript 库,核心定位是轻量与零依赖。它不依赖 jQuery、React 或 Vue 等任何框架,可直接嵌入任意技术栈项目,用于快速构建产品功能导览、新用户 onboarding 流程、页面功能高亮提示以及上下文相关的帮助弹层。
Driver.js 通过高亮遮罩层与步骤气泡的组合,引导用户聚焦特定页面元素。其典型应用场景包括:
| 特性维度 | 具体说明 |
|---|---|
| 体积与性能 | 压缩后约 5KB(gzip),无外部依赖,对页面加载性能影响可忽略 |
| 框架兼容性 | 纯原生 JavaScript 编写,可与 React、Vue、Angular 或服务端渲染页面无缝集成 |
| 交互控制 | 支持键盘导航、点击遮罩关闭、步骤跳转、弹出位置自动计算(防止溢出视口) |
| 样式定制 | 提供默认主题,同时暴露 CSS 变量与类名,可深度定制高亮边框、气泡配色、动画效果 |
| 编程接口 | 提供 drive()、highlight()、destroy() 等简洁 API,支持手动控制步骤切换与生命周期钩子 |
安装方式支持 npm/yarn 及 CDN 直接引用。基础使用逻辑如下:
element(目标选择器)、popover(气泡标题、描述、按钮文案)及可选的位置参数new driver.js.driver() 并传入步骤数组drive() 方法,库会自动计算元素位置并渲染遮罩与气泡对于动态渲染的页面(如 SPA 路由切换后),需在步骤配置中指定 element 在页面可见后再触发驱动,或使用 onHighlightStarted 回调进行异步等待。
aria-label,并确保键盘可完整操作Driver.js 适合需要快速、低成本实现页面引导功能的中小型项目,也适合大型系统中作为独立模块按需加载。其 API 设计简洁,学习曲线平缓,是产品经理与前端开发者沟通引导需求的低成本落地工具。若你的项目已有成熟的 UI 组件库,Driver.js 同样可以只负责遮罩与定位逻辑,气泡内容完全由自定义 HTML 渲染,保持视觉风格统一。