屏幕唤醒锁测试器 - 保持常亮应用演示
请求Screen Wake Lock防止屏幕关闭,监听释放事件,适用于观看长内容等场景。
UD5工具箱
Screen Orientation API — 实时检测、监控与锁定屏幕方向
| # | 时间 | 方向类型 | 角度 | 锁定状态 | 触发源 |
|---|---|---|---|---|---|
| 等待方向变化事件... | |||||
提示:方向锁定功能在移动设备上效果最佳。桌面端通常不支持方向传感器,锁定操作将失败。 部分浏览器需要 HTTPS 环境或全屏模式才能锁定方向。
screen.orientation 对象暴露方向和锁定功能,主要包含 type(方向类型)、angle(旋转角度)、lock()(锁定)和 unlock()(解锁)等属性和方法。该API在移动端Web应用、游戏、视频播放器等场景中广泛应用。
screen.orientation.lock('portrait') 或 screen.orientation.lock('landscape') 来锁定方向。锁定失败常见原因包括:"portrait-primary" — 竖屏主方向(设备自然竖屏状态);"portrait-secondary" — 竖屏次方向(倒转180°);"landscape-primary" — 横屏主方向(从竖屏向左旋转90°);"landscape-secondary" — 横屏次方向(从竖屏向右旋转90°);"portrait" — 任意竖屏方向(primary + secondary);"landscape" — 任意横屏方向(primary + secondary);"any" — 任意方向;"natural" — 设备自然方向。不同浏览器对各类型的支持程度不同,移动端Chrome支持最全面。
window 上触发,配合 window.orientation 获取角度值(0/90/-90/180)。这是iOS Safari长期使用的方式,但在现代浏览器中正被逐步淘汰。screen.orientation 上触发,提供更精确的方向类型和角度。webkitRequestFullscreen 进入全屏后再尝试锁定;apple-mobile-web-app-capable meta标签启用全屏模式,配合CSS的 @media (orientation: ...) 进行适配;window.orientation 和 orientationchange 事件作为兼容方案。实际项目中,建议针对iOS做降级处理,依赖CSS媒体查询进行布局适配。
"orientation": "portrait" 或 "orientation": "landscape" 来指定应用的首选方向。Manifest中的设置优先级较高,配合 Screen Orientation API 可以实现更可靠的方向控制。此外,PWA在移动设备上可以隐藏浏览器UI,提供更接近原生应用的体验。建议同时设置 "display": "standalone" 或 "display": "fullscreen" 以最大化方向控制的效果。
screen.orientation.angle 表示设备相对于其自然方向的旋转角度,取值固定为 0、90、180、270:window.orientation 使用 -90 代替 270。两者的对应关系为:window.orientation = (360 - screen.orientation.angle) % 360,当结果为180以上时减去360。
请求Screen Wake Lock防止屏幕关闭,监听释放事件,适用于观看长内容等场景。
请求和释放屏幕唤醒锁,并监听释放事件,适用于视频播放或演示场景。
创建带有复选框或标签的多选下拉列表,支持删除已选项,键盘可全控。
请求浏览器保持屏幕唤醒,防止自动锁屏,显示当前唤醒锁状态。
连接游戏手柄,触发不同时长和强度的振动效果,测试Vibration Actuator API。
选择或输入多个开源许可证,查看它们组合在闭源或开源项目中的兼容性矩阵与义务。
在布满干扰物的图片中寻找并点击目标物品,记录用时。
加载Lottie动画JSON文件,播放并控制速度、方向,预览动效效果。
编写带有伪类的选择器,实时高亮匹配的HTML元素,探索现代CSS选择器的能力。
在线UUID生成器,一键生成符合RFC4122规范的UUID字符串(如v4随机),用于数据库主键或会话标识。
获取和释放命名锁,观察多个标签页如何排队等待资源访问。
演示如何拦截PWA安装事件并自定义安装按钮,查看浏览器原生安装提示效果。
可视化Flexbox容器和子项的所有属性及选项,鼠标悬停预览效果。
输入 HTML 或网址,提取所有标题标签,生成文档大纲树,检测跳跃和缺失。
绑定动画进度到滚动位置,交互式调整参数,直观理解scroll-timeline和view-timeline。
支持任意格式颜色输入,计算对比度并显示WCAG 2.1各级别通过情况,含颜色建议。
可拖拽的虚拟尺子和量角器叠于当前页面,精确测量像素长度与旋转角度。
在线生成Lorem Ipsum占位文本,可指定段落数、单词数或字节数,用于设计排版和布局填充。
在线生成可折叠的手风琴面板,自定义标题、内容与图标,支持纯CSS或简单JS切换。
自定义原生 <dialog> 元素的样式、动画和遮罩效果,一键复制生成语义化且无障碍的模态框代码。
通过Service Worker或本地fetch模拟拦截和转发请求,查看修改后的请求响应。
上传壁纸,根据Material Design 3的算法生成瑟拉斯等色系的CSS变量代码。
基于简单WebSocket服务,多人同时在同一画布上绘图,远程协作。
上传一张原图,智能裁剪并输出从16x16到512x512的各尺寸ICO/PNG,适合网页与PWA。
粘贴JSON对象,生成可折叠的树形视图,点击节点复制其键值路径,方便调试。
拖放 lcov.info 文件,以颜色标示每行代码的覆盖状态。
打开多个同源页面,通过Broadcast Channel API实时同步消息或状态变化。
生成使用position:sticky固定在顶部的导航栏代码,含滚动变色等增强效果。
将屏幕变为纯白色或指定颜色,最高亮度辅助照明或信号。
配置内容和位置,生成使用最新HTML popover属性的轻量弹窗代码,无需JavaScript。