iOS iPadOS safari 独立Web应用屏幕旋转的时候 window.innerHeight 数值不对。

news2024/9/30 5:39:40

iOS iPadOS safari 独立Web应用屏幕旋转的时候 window.innerHeight 数值不对

一、问题描述

我有一个日记应用,是可以作为独立 Web 应用运行的那种,但在旋转屏幕的时候获取到的 window.innerHeightwindow.innerWidth 就不对了,不是屏幕的正常尺寸。导致内容显示不正常。iPhone和 iPad 上都是这样的。

本来应该是这样的。
请添加图片描述
在旋转一次再转回来的时候就成了这样

请添加图片描述

我在程序里是这样写的:

window.onresize = () => {
    this.SET_INSETS({
        windowsHeight: window.innerHeight,
        windowsWidth: window.innerWidth,
        heightPanel: window.innerHeight - 45, // 除 navbar 的高度
    })
}

二、问题解决

搜了下 google 找到了解决办法:虽然 window.innerHeightwindow.innerWidth 的数值不对,但 document.documentElementclientHeightclientWidth 是对的。

window.onresize = () => {
    this.SET_INSETS({
        windowsHeight: window.innerHeight,
        windowsWidth: window.innerWidth,
        heightPanel: window.innerHeight - 45, // 除 navbar 的高度
    })
    console.log('window.innerHeight:', window.innerHeight, window.innerWidth)
    console.log('clientWidth:', document.documentElement.clientWidth, document.documentElement.clientHeight)
}

加上这两个输出能看到结果,在屏幕旋转的时候 clientHeightclientWidth 的数值是正确的。

请添加图片描述

三、结果

换获取高度和宽度的途径换成 document.documentElement.clientHeightdocument.documentElement.clientWidth 就好了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/711357.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

无法安装此app,因为无法验证其完整性 ,解决方案

最近有很多兄弟萌跟我反应“无法安装此app,因为无法验证其完整性 ”,看来这个问题无法避免了,今天统一回复下,出现提示主要有以下几种可能 1.安装包不完整 首先申请我所有分享的破解软件全部都有自己校验过,一般不会存在问题出非你…

【视频观看记录】Bubbliiiing的Pytorch 搭建自己的Unet语义分割平台(Bubbliiiing 深度学习 教程)

来源 b站 地址 什么是语义分割 语义分割:对图像每个像素点进行分类 常见神经网络处理过程:Encoder提取特征,接着Docoder恢复成原图大小的图片 UNet整体结构 分为三个部分 主干特征提取部分: 卷积和最大池化的堆叠获得五个初…

win10安装pytorch GPU

我记得以前安装过深度学习库GPU版本, 需要安装cuda什么的,翻了下还真写过一篇win10安装tensorflow的文章,但是流程不止不详细,还不清晰。这次就再记录一遍 这次安装的是pytorch,这么多年似乎pytorch要逐渐统一深度学习…

JavaEE语法第二章之多线程(初阶二)

目录 一、线程常用方法 1.1启动一个线程-start() 1.2中断一个线程 1.2.1使用自定义的变量来作为标志位. 1.2.2使用 Thread.interrupted() 或者 Thread.currentThread().isInterrupted() 代替自定义标志位. 1.2.3观察标志位是否清除 1.3等待一个线程-join() 1.4获取当前…

Typora文本的使用

1. 如何创建目录? 输入几个#,再加空格,写入文字回车后就是几级标题; 2. 如何输入代码块? 英文状态下,输入三个反引号,然后回车即可; 3. 如何输入竖线和小圆点? 4. 如何…

SSH远程直连Docker容器

文章目录 1. 下载docker镜像2. 安装ssh服务3. 本地局域网测试4. 安装cpolar5. 配置公网访问地址6. SSH公网远程连接测试7.固定连接公网地址8. SSH固定地址连接测试8. SSH固定地址连接测试 转载自cpolar极点云文章:SSH远程直连Docker容器 在某些特殊需求下,我们想ssh…

使用显式特征的在线交互感知提升网络

目录 1介绍 2相关工作 2.1提升建模 2.2特征交互 3前提 4提出的方法 4.1架构 4.2训练 5试验评估 6结论和未来 英文题目:Explicit Feature Interaction-aware Uplift Network for Online Marketing 翻译:使用显式特征的在线交互感知提升网络 单…

MATLAB 之 Simulink 系统仿真实例和 S 函数的设计与应用

这里写目录标题 一、Simulink 系统仿真实例1. 方法一2. 方法二3. 方法三 二、S 函数的设计与应用1. 用 MATLAB 语言编写 S 函数1.1 主程序1.2 子程序 2. S 函数的应用 一、Simulink 系统仿真实例 下面的应用实例我们将分别采用不同建模方法为系统建模并仿真。例如,…

博客质量分计算——发布 version 5

目录 1. 背景2. 质量分 version 52.1 version 4 存在问题分析2.2 version 5 改进2.3 消融分析2.3.1 正向积极得分消融实验2.3.2 正向累积得分单变量实验2.3.3 非高分文章消融实验 2.4 V4 和 V5 版本质量分分布对比 3. 总结4. 参考 1. 背景 博客质量分顾名思义是用于衡量一篇博…

现代物理工程选讲:辐射探测与测量----射线与物质相互作用

重带电粒子与物质相互作用 与靶物质核外电子发生库伦相互作用电子获得能量脱离原子核的束缚(或跃迁到高能级),从而被电离(或激发)每次碰撞只损失很小一部分能量(~1/500)径迹是直线 阻止本领 Stopping Pow…

【Kubernetes资源篇】Secret加密数据配置管理详解

文章目录 一、Secret加密配置理论知识1、Secret是什么?2、Secret和configMap的区别3、Secret的参数和类型 二、实践:使用Secret进行加密1、方式一:环境变量方式引入2、方式二:卷挂载方式引入 一、Secret加密配置理论知识 1、Secret是什么?…

西安石油大学Python期末复习

Python期末复习 一、单选题 1. Python语言属于(C) A.机器语言 B.汇编语言 C.高级语言 D.以上都不是 2.Python 解释器环境中,用于表示上一次运算结果的特殊变量为(B) A. : B. _ C. > D.# 3.为了给整型变量x、y、z赋初值10&#xff0c…

Codeforces Round 868 (Div. 2) F. Random Walk(树上期望)

题目 n(n<2e5)个点的树&#xff0c; 从起点s出发&#xff0c;每次等概率选择一条边&#xff0c;随机游走到相邻点 若走到t&#xff0c;则停止&#xff0c;问每个点经过的期望次数&#xff0c;答案对998244353取模 思路来源 DLUT_Zeratul讲解 题解 需要分成三部分考虑…

Spring面试题--Spring中的循环引用(循环依赖)

我们以上述代码为例分析一下死循环产生的过程 为什么A是半成品呢&#xff1f; 如果熟悉bean的生命周期&#xff0c;那么在实例化对象A的时候&#xff0c;首先去调用的是构造函数&#xff0c;像是依赖注入还有接口的实现重写什么的&#xff0c;还有后置处理器&#xff0c;初始化…

【笔记】微机原理及接口技术3 -- 中断技术与DMA控制器

目录 中断技术中断概述中断处理过程 可编程定时器与计数器DMA 控制器8237A 结构工作方式工作时序 中断技术 中断概述 中断的流程是&#xff1f; CPU 正在执行进程 A此时外部或者内部中断请求发生&#xff0c;CPU 响应中断进程 A 暂时中断执行&#xff0c;转而运行中断服务程序…

华为OD机试真题 Python 实现【核酸检测人员安排】【2023Q1 100分】,附详细解题思路

目录 一、题目描述二、输入描述三、输出描述四、补充说明五、Python算法源码六、效果展示1、输入2、输出 一、题目描述 在系统、网络均正常的情况下组织核酸采样员和志愿者对人群进行核酸检测筛查。 每名采样员的效率不同&#xff0c;采样效率为N人/小时。 由于外界变化&…

本地springboot项目上传到gitee

1.在gitee上新建一个仓库&#xff1a; 创建后可以拿到仓库地址&#xff1a;https://gitee.com/ouyangshuiming/linux_test.git 2. 选中 创建git仓库 3. 4.最后一步&#xff1a; 一定记得这里要写上一段话&#xff0c;才能成功提交&#xff1a;比如git 提交远程库 最后刷新…

MySQL的Join

1.Join用法 Join连接两张表,大致分为内连接,外连接,右连接,左连接,自然连接。 内连接又叫等值连接,此时的inner可以省略。 USING语句 MySQL中连接SQL语句中,ON子句的语法格式为:table1.column_name = table2.column_name。当模式设计对联接表的列采用了相同的命名样…

React hooks文档笔记(四) useRef

useRef 当想让组件记住一些信息&#xff0c;又不想触发新的渲染&#xff0c;可以使用ref&#xff1a;总是返回同一个对象。 1. state 和 refs 的比较 refs&#xff08;普通的 JavaScript 对象&#xff09; state 更改时不触发重新渲染 更改时触发重新渲染 可变的——修改/…

复现基于unet的眼底血管的医学图像分割项目

代码及数据集&#xff1a; MedicalImageSegmentation: 复现一个医学图像分割的项目 - Gitee.com xin麒/MedicalImageSegmentation - 码云 - 开源中国 (gitee.com) 两个都可以&#xff0c;差不多的&#xff08;要不就使用第二个吧&#xff0c;第二个后续都会继续更新&#xf…