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

news/2024/11/24 6:26:33/

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.ppmy.cn/news/688544.html

相关文章

学习记录-博客阅读

学习记录-博客阅读 深入浅出JS—13 Set和Map应用场景 深入浅出JS—13 Set和Map应用场景_爱你小前端的博客-CSDN博客 ES5和ES6的区别 ES5和ES6的区别_肥肥呀呀呀的博客-CSDN博客 defer async link 标签和 script 标签中 dns-prefetch、prefetch、preload、defer、async 字段…

一款基于android的运动辅助软件

部分软件截图,源代码和展示视频下载地址:http://pan.baidu.com/s/1jGKCm8Y 

运动蓝牙耳机哪个品牌好?运动耳机品牌排行榜

在运动场上不停地挥洒汗水,尽情享受肾上腺素带来的兴奋与快乐。现在城市里运动场所越来越多,人们的体育活动也渐渐丰富起来,马拉松、健身、骑行、户外活动、滑板等等。在锻炼身体的同时也是对意志的磨练。很多人都喜欢在运动的时候佩戴耳机&a…

微信运动刷步数软件有哪些?微信运动刷步软件推荐[

随着健身浪潮的掀起,不少的朋友都在朋友圈中晒自己在微信运动中的排名,当然很多都是刷步刷出来的哟,那么微信运动刷步数软件有哪些?下面清风小编就给大家推荐几款微信运动刷步软件。 一、乐动力: 乐动力 是一款能够全天…

下载keep运动软件_keep运动软件下载

keep运动软件下载,keep减肥软件是一款可以为你制定、提供各种健身课程的掌上健身助教,不管你是工作太忙没时间、还是健身房不知道如何正确健身都可以选择keep运动软件开始你的健身之路。 keep如何制定运动计划 第一步:运动能力测试 打开keep,…

跑步运动软件调研

跑步运动软件调研 1 调研背景 随着生活水平的提高,身体健康已经被越来越多的人放在重要的位置。相比健身房运动,跑步是一种相对而言更大众更廉价的运动方式。从2012年开始,民众对路跑运动的热衷开始显现,并从2015年开始呈现爆发之…

运动软件产品测试

一,计划说明 a.本次测试所选择的产品: keep&悦跑圈 b.预估项目完成时间 项目内容说明预估耗时(分钟)实际耗时(分钟)Planning计划1010Estimate估计这个任务需要多少时间55Testing Design测试设计6050Ana…

运动打卡软件app开发功能

大多数人对于我们身体方面的健康越来越注意,所以很多打卡打卡类的APP很受用户们的喜爱。为此很多打卡类的平台都开发了运动打卡软件app,但是运动打卡app 开发该具备哪些功能才能增加平台上的用户粘性呢? 运动打卡app如何增加APP用户&#xff…