无需登录 数据私有 本地保存

Launch Handler 演示 - 控制 PWA 启动行为

7
0
0
0
client_mode 四模式切换

工具支持 Launch Handler API 定义的全部四种 client_mode 模式。focus-existing 模式下,当 PWA 窗口已打开时,新启动请求仅聚焦现有窗口而不改变 URL,适合需要保持用户当前工作上下文的场景。navigate-existing 模式会将现有 PWA 窗口导航到新请求的 URL,适用于需要响应深层链接的场景。navigate-new 模式始终创建新的 PWA 窗口实例,适合多窗口工作流。auto 模式交由浏览器决定最佳策略,通常等同于 navigate-existing。用户可通过下拉菜单即时切换,模拟器会实时展示不同模式下的行为差异。

PWA 初始状态模拟

工具允许开发者预设 PWA 窗口的初始状态,包括"PWA 窗口已打开"和"PWA 窗口已聚焦"两种状态。这一功能对于测试不同场景至关重要:当 PWA 窗口已打开但未聚焦时,focus-existing 模式的行为与窗口已聚焦时截然不同。通过切换初始状态,开发者可以完整覆盖所有可能的用户场景,确保 manifest 配置在各种情况下都能产生预期行为。状态切换通过简洁的开关控件实现,模拟器会同步更新 PWA 窗口的视觉状态。

route_to 高级路由配置

在基础 client_mode 之外,工具还提供了 route_to 高级配置面板。route_to 允许开发者针对不同启动来源设置差异化的路由策略。系统支持三个选项:existing-client 将请求路由到现有 PWA 客户端、new-client 创建全新的 PWA 客户端实例、existing-client-navigate 路由到现有客户端并触发导航操作。开发者还可以通过 launching_from 针对特定来源(如 share-target、navigate 等)配置独立的 route_to 行为,实现更加精细的启动控制逻辑。

桌面模拟器可视化

工具内置了一个直观的桌面模拟器,以图形化方式呈现浏览器窗口和 PWA 应用窗口的实时状态。模拟器顶部显示当前生效的 client_mode 和 PWA 运行状态。浏览器窗口区域展示标签页列表和地址栏,PWA 窗口区域则显示应用名称、当前 URL 和页面内容。当触发启动事件时,模拟器会通过动画效果展示窗口的聚焦、导航或创建过程。这种可视化呈现让抽象的 API 行为变得具体可感,帮助开发者快速验证配置效果。

多场景启动模拟

工具支持三种常见的 PWA 启动场景模拟。外部链接启动模拟用户从其他网页点击 PWA scope 内链接的场景。分享目标模拟通过 Web Share Target API 接收分享数据的场景。浏览器导航模拟用户在地址栏直接输入 PWA URL 的场景。每种场景都会触发不同的启动参数,开发者可以观察同一配置在不同启动来源下的行为差异。模拟完成后可一键重置环境,快速进行下一轮测试。

行为日志追踪

工具底部设有行为日志面板,完整记录每一次模拟操作的详细执行过程。日志内容包括:当前生效的 client_mode 模式、PWA 窗口的初始状态、启动事件的触发来源、窗口操作的执行结果(聚焦/导航/新建)以及最终的窗口状态变化。日志采用时间序列展示,每条记录都带有明确的状态标识,方便开发者回溯分析配置的实际效果。这对于排查复杂启动逻辑中的问题尤为有用。

Manifest 配置代码生成

当开发者完成所有配置和模拟验证后,工具会自动生成与当前配置完全对应的 manifest.json 代码片段。生成的代码包含 name、short_name、start_url、scope、display 和 launch_handler 等完整字段,开发者可直接复制到项目中使用。如果配置了 route_to 高级选项,生成的代码也会包含相应的路由配置。代码区域支持一键复制功能,减少手动操作带来的错误。生成的配置代码遵循 W3C 规范格式,确保在所有支持 Launch Handler 的浏览器中都能正确工作。

完全本地化处理

本工具的所有功能实现均基于纯前端技术栈,不依赖任何后端服务。所有的模拟逻辑、状态管理和代码生成都在浏览器本地完成。这意味着开发者可以完全放心地使用本工具进行配置调试,无需担心敏感的 manifest 配置信息被传输到外部服务器。工具无需登录注册即可使用,打开页面即可开始工作,用完关闭页面即走,不会在设备上留下任何数据痕迹。这种零配置、零依赖的使用体验,完美契合了现代开发者对工具链简洁性的追求。