SuperAPI AI 工具集

static-spa-interactions

前端与建站

查看项目

更新于 10-16 06:22

技能介绍

用途:在已存在原生静态单页应用脚手架的前提下,为其增加让页面更像成熟产品的交互层,涵盖状态、导航、主题、响应式与无障碍。各模式均为可独立添加的自包含模块。

主要能力与用法:

  1. localStorage 进度持久化:任务勾选与测验答案存于带版本后缀的键(如 your-app-progress-v1),读取时用 try/catch 包裹 JSON.parse 防止损坏数据导致初始化崩溃。
  2. 侧边栏:桌面默认可见、移动默认隐藏,需用两个类(sidebar-closed 与 sidebar-open)分别表达,并监听 768px 断点变化清除类名;用 position: fixed 而非 sticky。
  3. 滚动高亮:用 IntersectionObserver 配合 rootMargin: '-30% 0px -60% 0px' 形成激活区,避免抖动。
  4. 主题切换:通过:root 上的 data-theme 属性选择器实现,切换结果写入存储。
  5. 内容缩放:仅在 .content 一层应用 zoom 变量,切勿作用于 html;移动端需用 removeProperty 清除内联变量。
  6. 淡入与手风琴:用 IntersectionObserver 添加 visible 类;缩放场景下优先用 keyframes 而非 opacity 过渡。
  7. 复制到剪贴板:优先 navigator.clipboard,失败时回退 textarea + execCommand,以兼容 file:// 环境。
  8. Toast、测验错题回链(滚动到来源章节)、iframe 模态预览(Markdown/HTML/TXT 用模态,PDF 用下载链接)、模态打开时锁定 body 滚动。

限制与注意:资料提醒硬编码题目数量会散落在标题、导语、分数、提示与及格阈值五处,建议从 COURSE.quiz.length 推导;不要将验证脚本写入本技能,应调用 web-visual-verification 生成对应验证脚本;参考实现位置与共享领域原语文档已在资料中给出。适用场景为教学站点类原生静态 SPA 的交互完善。