Visual Viewport API
Visual Viewport API 提供了查询和监测屏幕可视区域的功能
该 API 通过 Window
接口的 visualViewport
属性暴露的 VisualViewport
实例使用
VisualViewport 概念
Viewport 有两个相对的概念 —— Layout Viewport 和 Visual Viewport,Layout Viewport 包含当前文档用户可见的内容,而 Visual Viewport 仅包含当前文档用户当前可见的内容。例如,屏幕键盘等功能仅影响 Visual Viewport,不影响 Layout Viewport;缩放页面时,Visual Viewport 发生变化,而 Layout Viewport 不变
获取 VisualViewport 信息
主要通过 VisualViewport
接口的属性获取 Visual Viewport 信息
VisualViewport
接口的 width
属性返回一个 number
,表示 Visual Viewport 的宽度
VisualViewport
接口的 height
属性返回一个 number
,表示 Visual Viewport 的高度
VisualViewport
接口的 offsetLeft
属性返回一个 number
,表示 Visual Viewport 相对 Layout Viewport 左边缘的偏移量
VisualViewport
接口的 offsetTop
属性返回一个 number
,表示 Visual Viewport 相对 Layout Viewport 上边缘的偏移量
VisualViewport
接口的 pageLeft
属性返回一个 number
,表示 Visual Viewport 相对初始包含块的 x 坐标
VisualViewport
接口的 pageTop
属性返回一个 number
,表示 Visual Viewport 相对初始包含块的 y 坐标
VisualViewport
接口的 resize
属性返回一个 number
,表示 Visual Viewport 的缩放参数
监听 VisualViewport 变化
主要通过 VisualViewport
接口的事件监听 Visual Viewport 变化
VisualViewport
接口的 resize
事件在 Visual Viewport 尺寸发生改变时触发
VisualViewport
接口的 scroll
事件在 Visual Viewport 发生滚动时触发
示例
Width | Height | OffsetLeft | OffsetTop | PageLeft | PageTop | Scale |
---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 | 0 |
类型
1 | interface Window { |
链接
Visual Viewport API
https://skyclouds2001.github.io/2023/12/05/Visual-Viewport-API/