CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
跨平台前端入门/课时/Web API
RawBlame
课时目录12 节

跨平台前端入门

  1. 01跨平台前端地图
  2. 02PWA 基础
  3. 03Service Worker
  4. 04Web API
  5. 05Electron
  6. 06Tauri
  7. 07移动 Web 与混合
  8. 08Flutter 概览
  9. 09Ionic 概览
  10. 10Web Components
  11. 11Lighthouse 与 DevTools
  12. 12综合练习

Web API

web-apis;Geolocation、Storage 等。

25 分钟

Web API

除 DOM 与 fetch 外,现代浏览器提供大量 Web API:地理定位、本地存储、通知、剪贴板、文件访问等。跨平台前端里,PWA 与混合壳 往往先问「Web API 够不够」,再决定是否上 Electron/Tauri。

学习目标

  • 归类常用 Web API 与权限模型
  • 区分 Storage、IndexedDB、Cache 的适用场景
  • 对照路线图 web-apis 节点

按场景分类

场景API备注
持久化小数据localStorage / sessionStorage同步、有大小上限;勿存敏感 token
结构化离线数据IndexedDB异步、可存对象;SW + IDB 常见组合
网络fetch、WebSocket见 http-protocol-essentials
位置Geolocation需用户授权;HTTPS
通知Notifications + Push(+ SW)平台差异大,iOS 限制多
设备方向/运动DeviceOrientation 等移动端传感器
文件<input type="file">、FileReader桌面 Electron 可扩展为完整 FS

权限:敏感 API 走 Permissions API 或浏览器弹窗;拒绝后要有降级 UI,不能假设「一定能拿到」。

Storage 选型

sessionStorage  → 单标签会话(刷新可能清)
localStorage    → 长期 KV,简单偏好设置
IndexedDB       → 离线课程列表、草稿队列
Cache Storage   → SW 控制的 HTTP 响应副本(见 cpf-sw)

与 react-essentials 状态管理分工:React state 管 UI 会话;IDB 管跨刷新持久化;不要把大对象全塞 localStorage。

Geolocation 示例

if (!navigator.geolocation) return;

navigator.geolocation.getCurrentPosition(
  (pos) => console.log(pos.coords.latitude, pos.coords.longitude),
  (err) => console.warn(err.code, err.message),
  { enableHighAccuracy: false, timeout: 8000 }
);

仅当产品 真的需要 位置时再请求——html-css-essentials 的可访问性与隐私意识同样适用。

与桌面壳的边界

Web API 够用
常需原生/壳桥接
剪贴板(有限)、Share Target系统托盘、全局快捷键
通知(视平台)任意路径读写、原生菜单
相机/麦克风(getUserMedia)深度 OS 集成、驱动级硬件

Electron preload + contextBridge、Tauri invoke 都是在 Web API 不够时补洞——下两课展开。

练习

  • 用 localStorage 存「上次打开的 track slug」,页面加载时恢复
  • DevTools → Application → Storage,对比 Local / Session / IndexedDB
  • 查 MDN Geolocation,列出三种 error.code

小结

Web API 扩展了「纯网页」的触达面;权限与平台差异决定 PWA 上限。 下一课 Electron:Web UI 装进桌面进程模型。

加载本节练习…
← 上一课Service Worker下一课 →Electron