-
测试手机:
- 真我GT Neo5 SE(简称真我),ColorOS 13
-
测试浏览器:
- 微信自带浏览器,微信版本 红米 8.0.47,真我 8.0.48
- via 浏览器,均 5.3.0
- edge 浏览器,红米 118.0.2088.66,真我 120.0.2210.157
- QQ 浏览器:红米 14.9.0.0035,真我 14.9.0.0041
- 夸克浏览器,均 5.10.5.520(20240313184609)
- 百度浏览器,均 13.52.5.10
-
输入法:讯飞输入法,均 13.0.8(build15101)
- 键盘高度为默认
-
视口配置
相关操作(宽度全部都是不会变化的,除非横屏)
无操作:
| 浏览器 | innerWidth innerHeight | outerWidth outerHeight |
|---|---|---|
| 微信 | 400 810 | 同左 |
| via | 355, 664 | 同左 |
| edge | 355, 656 | 同左 |
| 400, 725 | 355, 644 | |
| 夸克 | 355, 701 | 同左 |
| 百度 | 355, 680 | 同左 |
输入内容时弹出键盘(高度全部变小,除了 edge)
| 浏览器 | innerWidth innerHeight | outerWidth outerHeight |
|---|---|---|
| 微信 | 400 425 | 同左 |
| via | 355, 371 | 同左 |
| edge | 355, 708 变大 | 同左 |
| 400, 361 | 355, 321 | |
| 夸克 | 355, 420 | 同左 |
| 百度 | 355, 381 | 同左 |
进入全屏(via 和百度是通过手动进入的全屏,其他是通过脚本进入的全屏)。高度全部变大
| 浏览器 | innerWidth innerHeight | outerWidth outerHeight |
|---|---|---|
| 微信 | 400 895 | 同左 |
| via | 355, 792 | 同左 |
| edge | 355, 760 | 同左 |
| 355, 760 | 同左 | |
| 夸克 | 355, 792 | 同左 |
| 百度 | 355, 760 | 同左 |
进入全屏时,弹出键盘(数值相对全屏时的数值)
| 浏览器 | innerWidth innerHeight | outerWidth outerHeight |
|---|---|---|
| 微信 | 400 510 变小 | 同左 |
| via | 355, 451 变小 | 同左 |
| edge | 355, 760 不变 | 同左 |
| 355, 760 不变 | 同左 | |
| 夸克 | 355, 451 变小 | 同左 |
| 百度 | 355, 419 变小 | 同左 |
设为系统浮窗(高度全部变小)
| 浏览器 | innerWidth innerHeight | outerWidth outerHeight |
|---|---|---|
| 微信 | 400, 583 | 同左 |
| via | 355, 463 | 同左 |
| edge | 355, 455 | 同左 |
| 400, 499 | 355, 443 | |
| 夸克 | 355, 499 | 同左 |
| 百度 | 355, 479 | 同左 |
设置分屏
-
高度全部都会变化。宽度全部不变。
-
QQ 浏览器还是老样子,inner 和 outer 不相同。
-
其中微信浏览器在每次变更大小时都会自动刷新!
滚动时
| 浏览器 | 隐藏内容 | innerWidth innerHeight | outerWidth outerHeight |
|---|---|---|---|
| 微信 | 无变化 | 400, 810 不变 | 同左 |
| via | 无变化 | 355, 664 不变 | 同左 |
| edge | 下滑时隐藏顶部导航栏和底部工具栏 | 355, 760 变大 | 同左 |
| 下滑时只隐藏顶部导航栏 | 400, 793 变大 | 355, 443 不变 | |
| 夸克 | 无变化 | 355, 701 不变 | 同左 |
| 百度 | 下滑时只隐藏顶部导航栏 | 355, 718 变大 | 同左 |
进入全屏使用的工具函数如下:注意该函数对 via 和百度的效果是变成横屏。
function toggleFullScreen() {
if (!document.fullscreenElement) {
document.documentElement.requestFullscreen()
} else {
if (document.exitFullscreen) { document.exitFullscreen() }
}
}